Azumi67 / Rathole_reverseTunnel

An alternative reverse tunnel for FRP- Lightweight and fast - TCP | UDP | WS + TLS | Noise TLS- [10] Kharej Servers [1] Iran Server
MIT License
164 stars 38 forks source link
azumi frp rathole reverse-proxy reverse-tunnel tcp udp v2ray wireguard

این پروژه صرفا برای آموزش و بالا بردن دانش بوده است و هدف دیگری در ان نمیباشد

اپدیت Binary انجام شد. دقت نمایید که os های ترجیحا به روزتر استفاده نمایید و از طریق ldd --version ورژن خود را بررسی کنید که 2.36 باشد و در غیر اینصورت به صورت کامپایل استفاده نمایید

اپدیت ریست تایمر برای نسخه بایناری و نسخه compile همراه با heartbeat انجام شد. بعدا اگر وقت کنم ویرایش تانل هم اضافه خواهم کرد

اپدیت چند سرور ایران به یک خارج با آموزش اضافه شد.

sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/gobinary.sh)

اگر OS شما به روز باشد از این به بعد میتوانید تانل را به وسیله binary و بدون نیاز به compile انجام دهید

میتوانید هم چنین در صورت تمایل از اسکریپت ایشان استفاده نمایید

https://github.com/Musixal/rathole-tunnel

R (2) نام پروژه : ریورس تانل Rathole [ با TCP - UDP - WS + TLS - Noise TLS ]

check امکانات

Exclamation-Mark-PNG-Clipartنکات



خطا ------------------------------------ - اگر مشکل heartbeat داشتید احتمالا به خاطر تایم اوت در سرور ایران شما میباشد.با این حال میتوانید اسکریپت بدون heartbeat را هم تست کنید. - اگر خطای curl ssl را گرفتید از داخل نصب پروژه به صورت دستی نصب نمایید. دقت نمایید باید دستور نصب rust را با curl به وسیله --insecure اجرا نمایید.

Image آپدیت ------------------------------------ - اضافه شدن توکن و 5 سرور ایران و یک خارج - اضافه شدن بایناری برای os های به روز تر - گزینه 6 و 7 ، noise tls اضافه شد. شما میتوانید تنها با public key سرور ایران ، به چندین سرور خارج تانل بزنید و دیگر نیازی به گرفتن cert ندارد. - تغییراتی در دستورات compile انجام شد. - تغییراتی در math اسکریپت انجام شد. - متود دوم برای سرورهای ایرانی که مشکل دریافت self cert داشتند اضافه شد. - اموزش نوشتاری نصب و compile به صورت دستی هم اضافه شد - اگر مشکلی در دانلود داشتید، میتوانید از dns های شکن و غیره استفاده کنید.

Imageنصب پروژه ------------------------------------ - با این اسکریپت [click](https://github.com/Azumi67/Rathole_reverseTunnel#%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D9%85%D9%86) ، نخست پروژه را بر روی تمامی سرور ها نصب نمایید. من تنها بر روی amd64 و سیستم عامل های دبیان و اوبونتو تست کردم و دسترسی به سایر را نداشتم. - توجه فرمایید که نردیک به 2 گیگ فضای خالی برای compile نیاز دارید. - وقتی اسکریپت اجرا شد گزینه یک را انتخاب کنید تا rust برای شما نصب شود. - اگر خطای مبنی بر [profile.release] گرفتید، داخل مسیر nano rathole/Cargo.toml شوید و زیر [profile.release] این strip = true را به strip = "symbols" تغییر دهید اگر خطا در این باب بود. - هر خطایی در compile پروژه گرفتید در داخل اینترنت سرچ نمایید و مشکل خود را حل نمایید. - میتوانید بر روی یک سرور تازه ریبلد شده تست بفرمایید و حتما قبلش سرور را اپدیت کرده باشید و dns هم تنظیم کنید. - **نصب به صورت دستی** ``` sudo apt update -y apt install rustc -y apt install cargo -y apt-get install pkg-config libssl-dev -y apt install curl -y curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh choose 1 sudo apt install git -y git clone https://github.com/miyugundam/rathole.git if you got an error by [workspace] , add it here nano rathole/Cargo.toml cd rathole cargo build ``` - اگر خطای روبرو را گرفتید ``` Caused by: failed to parse the edition key Caused by: supported edition values are 2015 or 2018, but 2021 is unknown ``` - دوباره اقدام به نصب از طریق اسکریپت زیر نمایید ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/install3.sh) ``` - اگر خطای curl ssl را گرفتید از داخل نصب پروژه به صورت دستی نصب نمایید. دقت نمایید باید دستور نصب rust را با curl به وسیله --insecure اجرا نمایید.

Image اموزش نصب go مورد نیاز برای اجرای اسکریپت ------------------------------------ - شما میتوانید از طریق اسکریپت [Here](https://github.com/Azumi67/Rathole_reverseTunnel#%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D9%85%D9%86) ، این پیش نیاز را نصب کنید یا به صورت دستی نصب نمایید. - حتما در صورت مشکل دانلود، dns های خود را تغییر دهید. - پس از نصب پیش نیاز ، اجرای اسکریپت go برای بار اول، ممکن است تا 10 ثانیه طول بکشد اما بعد از آن سریع اجرا میشود. - یا نصب به صورت دستی : ``` sudo apt update arm64 : wget https://go.dev/dl/go1.21.5.linux-arm64.tar.gz arm64 : sudo tar -C /usr/local -xzf go1.21.5.linux-arm64.tar.gz amd64 : wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz amd64 : sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz nano ~/.bash_profile paste this into it : export PATH=$PATH:/usr/local/go/bin save and exit with Ctrl + x , then Y source ~/.bash_profile go mod init mymodule go mod tidy go get github.com/AlecAivazis/survey/v2 go get github.com/fatih/color go get github.com/pkg/sftp go get -u golang.org/x/crypto/ssh ``` - سپس اسکریپت را میتوانید اجرا نمایید.

147-1472495_no-requirements-icon-vector-graphics-clipart پیش نیازها


6348248 آموزش

Image دو سرور ایران و یک سرور خارج IPV4 TCP ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران اول** **مسیر : IPV4 TCP > IRAN 1**

Image

- من دو سرور ایران و یک سرور خارج دارم و میخواهم دو پورت 5051 و 5052 را به صورت هم زمان با دو ایپی ایران استفاده کنم. - نخست سرور ایران اول را کانفیگ میکنم - اگر نسخه os شما به روز است و ldd --version شما 2.36 میباشد از طریق نسخه بایناری میتوانید این تانل را برقرار کنید ولی اگر پشتیبانی نکرد باید از طریق روش compile که قرار دادم، جلو برید. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم.دو عدد پورت 5051 و 5052 دارم. پس عدد 2 را وارد میکنم - پورت تانل برای سرور ایران اول را 443 وارد میکنم. - توگن را به صورت دلخواه قرار دهیدو من ازومی قرار دادم - پورت های سرور های خارجم را به ترتیب وارد میکنم. - اگر پینگ پایین تری میخواهید، nodelay را در ازای کاهش پهنای باند فعال نمایید. - ریست تایمر را هم هر 4 ساعت انتخاب میکنم.بعدا میتوانید ویرایش نمایید ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران دوم** **مسیر : IPV4 TCP > Iran 2**

Image

- سرور دوم ایران را کانفیگ میکنم. - مانند سرور اول ایران تعداد کانفیگ را 2 قرار میدم و واردشان میکنم و همچنین توکن هم ازومی قرار میدم و nodelay هم قرار میدم. (این موارد را بر اساس نیاز خودتان مشخص کنید) - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - پورت تانل برای سرور دوم ایران را که 8443 قرار میدهم. -------------------------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج** **مسیر : IPV4 TCP > KHAREJ**

Image

- سرورخارج را کانفیگ میکنم. - تعداد سرور ایران را دو وارم میکنم چون دو عدد سرور ایران داشتم. - ایپی 4 سرور اول ایران را وارد میکنم - پورت تانل سرور اول ایران 443 بود - توکن را ازومی قرار داده بودم - من 2 عدد کانفیگ در سرور خارج دارم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور دوم خارج 5051 و 5052 میباشد - گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم. - حالا سرور دوم ایران را در سرور خارجمان، کانفیگ میکنم. ایپی 4 سرور دوم ایران را وارد میکنم - پورت تانل برای سرور دوم ایران 8443 بود - توکن هم که ازومی قرار داده بودم - تعداد 2 عدد کاتفیگ با پورت های 5051 و 5052 داشتم و گزینه Nodelay هم فعال بود - سپس از ما سوال میشود که چند سرور ایران داشتیم که عدد دو را وارد میکنم و ریست تایمر را 4 ساعت میذارم ( شما میتوانید تغییر دهید) --------------
Image تانل ریورس TCP ایپی 4 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV4 TCP > IRAN**

Image

- نخست سرور ایران را کانفیگ میکنم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نمایید. - من دو سرور خارج دارم و هر سرور خارج من، دو کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من دو سرور خارج دارم و هر سرور دو عدد کانفیگ دارد، پس باید عدد 4 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت های سرور های خارجم را به ترتیب وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - به طور مثال اگر در سرور اول خارج، دو کانفیگ با پورت های 8080 و 8081 و در سرور دوم خارج، دو کانفیگ دیگر با پورت های 8082 و 8083 دارم. پس به ترتیب، تمام این پورت ها را وارد میکنم. - اگر پینگ پایین تری میخواهید، nodelay را در ازای کاهش پهنای باند فعال نمایید. - ریست تایمر را هم هر 2 ساعت انتخاب میکنم. ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV4 TCP > KHAREJ 1**

Image

- سرور اول خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 4 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور اول خارج 8080 و 8081 بود. - گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. -------------------------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج دوم** **مسیر : IPV4 TCP > KHAREJ 2**

Image

- سرور دوم خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number در سرور اول به ما نمایش داده شد که عدد 3 بود پس عدد 3، برای سرور دوم خارج را وارد میکنیم. - ایپی 4 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج دارم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور دوم خارج 8082 و 8083 بود. - گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. --------------
Image تانل ریورس TCP ایپی 6 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV6 TCP > IRAN**

Image

- نخست سرور ایران را کانفیگ میکنم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نماییم. - من دو سرور خارج دارم و هر سرور خارج من دو کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من دو سرور خارج داشتم و هر سرور دو عدد کانفیگ دارد، پس باید عدد 4 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت های سرور های خارجم را به ترتیب وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - به طور مثال اگر در سرور اول خارج، دو کانفیگ با پورت های 8080 و 8081 و در سرور دوم خارج، دو کانفیگ دیگر با پورت های 8082 و 8083 دارم. پس به ترتیب، تمام این پورت ها را وارد میکنم. - اگر پینگ پایین تری میخواهید، nodelay را در ازای کاهش پهنای باند فعال نمایید. - ریست تایمر را هم هر 2 ساعت انتخاب میکنم. ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV6 TCP > KHAREJ 1**

Image

- سرور اول خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 6 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور اول خارج 8080 و 8081 بود. - گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. -------------------------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج دوم** **مسیر : IPV6 TCP > KHAREJ 2**

Image

- سرور دوم خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number در سرور اول به ما نمایش داده شد که عدد 3 بود پس عدد 3، برای سرور دوم خارج را وارد میکنیم. - ایپی 6 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج دارم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور دوم خارج 8082 و 8083 بود. - گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. --------------
Image تانل ریورس UDP ایپی 4 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV4 UDP > IRAN**

Image

- نخست سرور ایران را کانفیگ میکنم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نماییم. - من یک سرور خارج دارم و سرور خارج من یک کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من یک سرور خارج داشتم و سرور من یک عدد کانفیگ دارد، پس باید عدد 1 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت وایرگارد سرور خارجم را وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - چون من یک کانفیگ وایرگارد دارم، پس تنها یک پورت را وارد میکنم. پورت من 50820 میباشد - ریست تایمر را هم هر 2 ساعت انتخاب میکنم. ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV4 UDP > KHAREJ 1**

Image

- سرور خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 4 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 1 عدد کانفیگ در سرور خارج داشتم. پس عدد 1 را وارد میکنم. - پورت کانفیگ سرور خارج 50820 بود. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. --------------
Image تانل ریورس UDP ایپی 6 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV6 UDP > IRAN**

Image

- نخست سرور ایران را کانفیگ میکنم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نماییم. - من یک سرور خارج دارم و سرور خارج من یک کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من یک سرور خارج داشتم و سرور من یک عدد کانفیگ دارد، پس باید عدد 1 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت وایرگارد سرور خارجم را وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - چون من یک کانفیگ وایرگارد دارم، پس تنها یک پورت را وارد میکنم. پورت من 50820 میباشد - ریست تایمر را هم هر 2 ساعت انتخاب میکنم. ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV6 UDP > KHAREJ 1**

Image

- سرور خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 6 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 1 عدد کانفیگ در سرور خارج داشتم. پس عدد 1 را وارد میکنم. - پورت کانفیگ سرور خارج 50820 بود. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. --------------
Image تانل ریورس TLS + WS ایپی 4 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV4 WS + TLS > IRAN**

Image

- از منو، گزینه اول را انتخاب میکنیم تا سرور ایران را کانفیگ نماییم و cert لازمه رو برای سرور دریافت نماییم.باید rootCA.crt را در تمامی سرور های خارج در پوشه rathole پیست کنیم. شما میتوانید یا از طریق copy cert اینکار از طریق اسکریپت انجام دهید یا خودتان به صورت دستی ، rootCA.crt را در سرور خارج کپی کنید. - اگر اینکار را نکنید ، ارتباط برقرار نخواهد شد.

Image

- سرور ایران را کانفیگ میکنیم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نماییم. - من دو سرور خارج دارم و هر سرور خارج من دو کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من دو سرور خارج داشتم و هر سرور دو عدد کانفیگ دارد، پس باید عدد 4 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت های سرور های خارجم را به ترتیب وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - به طور مثال اگر در سرور اول خارج، دو کانفیگ با پورت های 8080 و 8081 و در سرور دوم خارج، دو کانفیگ دیگر با پورت های 8082 و 8083 دارم. پس به ترتیب، تمام این پورت ها را وارد میکنم. - ریست تایمر را هم هر 2 ساعت انتخاب میکنم.

Image

- خب پس از کانفیگ ایران، باید rootCA.crt را در تمامی سرورهای خارجمان، کپی کنیم. من در اینجا بوسیله اسکریپت اینکار را انجام میدم. - دقت نمایید که باید بتوانید به صورت دستی هم از سرور ایران به سرور خارج، ssh بزنید در غیر اینصورت با اسکریپت هم امکان پذیر نخواهد بود. - ایپی 4 خارج و پورت ssh سرور خارج هم وارد میکنم. - یوزرنیم و پسورد سرور خارج هم وارد میکنم و فایل rootCA.crt به صورت اتوماتیک به پوشه مورد نظر در سرور خارج انتقال داده میشود. - حتما قبل از کانفیگ، اطمینان پیدا کنید که در تمامی سرور های خارج و ایران شما، پروژه نصب شده باشد ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV4 WS + TLS > Kharej 1**

Image

- سرور اول خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 4 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور اول خارج 8080 و 8081 بود. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. -------------------------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج دوم** **مسیر : IPV4 WS + TLS > Kharej 2**

Image

- سرور دوم خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number در سرور اول به ما نمایش داده شد که عدد 3 بود پس عدد 3، برای سرور دوم خارج را وارد میکنیم. - ایپی 4 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج دارم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور دوم خارج 8082 و 8083 بود. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. --------------
Image تانل ریورس TLS + WS ایپی 6 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV6 WS + TLS > IRAN**

Image

- از منو، گزینه اول را انتخاب میکنیم تا سرور ایران را کانفیگ نماییم و cert لازمه رو برای سرور دریافت نماییم.باید rootCA.crt را در تمامی سرور های خارج در پوشه rathole پیست کنیم. شما میتوانید یا از طریق copy cert اینکار از طریق اسکریپت انجام دهید یا خودتان به صورت دستی ، rootCA.crt را در سرور خارج کپی کنید. - اگر اینکار را نکنید ، ارتباط برقرار نخواهد شد.

Image

- سرور ایران را کانفیگ میکنیم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نماییم. - من یک سرور خارج دارم و سرور خارج من دو کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من یک سرور خارج داشتم و سرور من دو عدد کانفیگ دارد، پس باید عدد 2 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت های سرور های خارجم را به ترتیب وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - پورت های من 8080 و 8081 میباشد. - ریست تایمر را هم هر 2 ساعت انتخاب میکنم.

Image

- خب پس از کانفیگ ایران، باید rootCA.crt را در سرور خارج، کپی کنیم. من در اینجا بوسیله اسکریپت اینکار را انجام میدم. - دقت نمایید که باید بتوانید به صورت دستی هم از سرور ایران به سرور خارج، ssh بزنید در غیر اینصورت با اسکریپت هم امکان پذیر نخواهد بود. - ایپی 4 خارج و پورت ssh سرور خارج هم وارد میکنم. - یوزرنیم و پسورد سرور خارج هم وارد میکنم و فایل rootCA.crt به صورت اتوماتیک به پوشه مورد نظر در سرور خارج انتقال داده میشود. - حتما قبل از کانفیگ، اطمینان پیدا کنید که در تمامی سرور های خارج و ایران شما، پروژه نصب شده باشد ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV6 WS + TLS > Kharej 1**

Image

- سرور خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 6 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور خارج 8080 و 8081 بود. - ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. --------------
Image ریورس تانل Noise TLS ایپی 6 ------------------------------------ ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور ایران** **مسیر : IPV6 Noise TLS > IRAN**

Image

- نخست سرور ایران را کانفیگ میکنم - قبلش باید پروژه را بر روی سرورهای خود نصب و compile نماییم. - من دو سرور خارج دارم و هر سرور خارج من دو کانفیگ دارد. - در سرور ایران از من میخواهد تعداد کل کانفیگ هایم را وارد کنم. من دو سرور خارج داشتم و هر سرور دو عدد کانفیگ دارد، پس باید عدد 4 را وارد کنم. - پورت تانل را 443 وارد میکنم. - پورت های سرور های خارجم را به ترتیب وارد میکنم. دقت نمایید در این قسمت باید تمامی پورت های سرور خارج را وارد نمایید - به طور مثال اگر در سرور اول خارج، دو کانفیگ با پورت های 8080 و 8081 و در سرور دوم خارج، دو کانفیگ دیگر با پورت های 8082 و 8083 دارم. پس به ترتیب، تمام این پورت ها را وارد میکنم. - سپس به من یک پرایوت کی و پابلیک نمایش داده میشد. پرایوت کی را در سرور ایران وارد میکنیم و پابلیک کی ها را در سرور های خارج وارد میکنیم. - پرایوت کی را وارد میکنم - ریست تایمر را هم هر 1 ساعت انتخاب میکنم. ---------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج اول** **مسیر : IPV6 Noise TLS > KHAREJ 1**

Image

- سرور اول خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد. - ایپی 6 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج اول داشتم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور اول خارج 8080 و 8081 بود. - پابلیک کی سرور ایران را وارد میکنم. - ریست تایمر هم که عدد 1 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید. -------------------------------------- ![green-dot-clipart-3](https://github.com/Azumi67/6TO4-PrivateIP/assets/119934376/902a2efa-f48f-4048-bc2a-5be12143bef3) **سرور خارج دوم** **مسیر : IPV6 Nose TLS > KHAREJ 2**

Image

- سرور دوم خارج را کانفیگ میکنم. - از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد. - مقدار starting number در سرور اول به ما نمایش داده شد که عدد 3 بود پس عدد 3، برای سرور دوم خارج را وارد میکنیم. - ایپی 6 ایران را وارد میکنم. - پورت تانل که 443 قرار داده بودم - من 2 عدد کانفیگ در سرور خارج دوم دارم. پس عدد 2 را وارد میکنم. - پورت های کانفیگ سرور دوم خارج 8082 و 8083 بود. - پابلیک کی سرور ایران را وارد میکنم. - ریست تایمر هم که عدد 1 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند) - در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید.

اسکرین شات

برای مشاهده اسکرین کلیک کنید

menu screen


scri اسکریپت های کارآمد :

Musixal Script

https://github.com/Musixal/rathole-tunnel

Opiran Scripts

 bash <(curl -s https://raw.githubusercontent.com/opiran-club/pf-tun/main/pf-tun.sh --ipv4)
apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/opiran-club/VPS-Optimizer/main/optimizer.sh --ipv4)

Hawshemi script

wget "https://raw.githubusercontent.com/hawshemi/Linux-Optimizer/main/linux-optimizer.sh" -O linux-optimizer.sh && chmod +x linux-optimizer.sh && bash linux-optimizer.sh

R (a2) اسکریپت من

تانل بوسیله binary و بدون نیاز به compile - دستور زیر را اجرا کنید ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/gobinary.sh) ```
کامپایل پروژه - دستور زیر پروژه را بر روی سرور شما compile میکند. نخست این را اجرا نمایید ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/install.sh) ``` - اگر با نصب git مشکل داشتید اول git را جداگانه نصب کنید و سپس اقدام به اجرای اسکریپت کنید ``` sudo apt update -y sudo apt --fix-broken install sudo apt install git -y nano ~/.bashrc paste this into it >> export PATH="$PATH:/usr/bin/git" Ctrl + x and enter y source ~/.bashrc git --version ``` - حالا اقدام به اجرای اسکریپت نمایید ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/install2.sh) ``` - اگر خطای روبرو را گرفتید ``` Caused by: failed to parse the edition key Caused by: supported edition values are 2015 or 2018, but 2021 is unknown ``` - دوباره اقدام به نصب از طریق اسکریپت زیر نمایید ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/install3.sh) ```
اسکرپت تانل با heartbeat - پس از انکه کامپایل پروژه تمام شد، با دستور زیر، پیش نیاز گو را نصب میکنید و سپس اقدام به اجرای اسکریپت میکنید. ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/go.sh) ``` - اگر به صورت دستی پیش نیاز های گو را نصب کردید و میخواهید به صورت دستی هم اسکریپت را اجرا کنید میتوانید با دستور زیر انجام دهید ``` rm rat.go sudo apt install wget -y && wget https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/rat.go && go run rat.go ```
اسکریپت تانل بدون heartbeat - اگر مشکل heartbeat داشتید احتمالا به خاطر تایم اوت در سرور ایران شما میباشد.با این حال میتوانید این اسکریپت که بدون heartbeat هست را هم تست کنید. ``` sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/go2.sh) ``` - اگر به صورت دستی پیش نیاز های گو را نصب کردید و میخواهید به صورت دستی هم اسکریپت را اجرا کنید میتوانید با دستور زیر انجام دهید ``` rm rat2.go sudo apt install wget -y && wget -O /etc/logo.sh https://raw.githubusercontent.com/Azumi67/UDP2RAW_FEC/main/logo.sh && chmod +x /etc/logo.sh && wget https://raw.githubusercontent.com/Azumi67/Rathole_reverseTunnel/main/rat2.go && go run rat2.go ```

R23 (1) سورس ها

R (9) سورس RAThole

R (9) سورس OPIRAN

R (9)سورس Hwashemi