Rathole_reverseTunnel

command module
v0.0.0-...-f4e289d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2024 License: MIT Imports: 15 Imported by: 0

README

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

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

check امکانات

  • پشتیبانی از TCP و UDP
  • قابلیت تانل بر روی چندین پورت
  • امکان استفاده از ایپی 4 و 6
  • ریست تایمر انتخابی توسط شما و امکان ویرایش آن
  • مناسب برای v2ray , Wireguard
  • امکان تانل بر روی ایپی فیلتر شده
  • امکان استفاده از ریورس تانل Ws + TLS
  • امکان استفاده از noise TLS بدون گرفتن cert
  • امکان تانل بر روی 10 سرور خارج و یک سرور ایران
  • امکان استفاده از nodelay برای بهبود پینگ
  • امکان ترکیب ریورس تانل udp با fec در آینده
  • امکان حذف تمامی تانل ها و سرویس ها

Exclamation-Mark-PNG-Clipartنکات

  • تغییر interval به زمان پایین تر برای کسانی که تایم اوت دارند ( با تشکر از اقا ماهان) و همچنین ویرایش زمان ریست به صورت ساعتی و دقیقه ای هم اضافه شد.
  • دستور bin bash برای سرور های ایرانی که مشکل اجرا نشدن دستور cron را داشتند، اضافه شد. برای کانفیگ دوباره، نخست uninstall کنید که دستورات cron پیشین پاک شود.

توضیحات
  • اگر سرعتتون پایین بود، لطفا هم بر روی سرور ایران و خارج optimizer نصب کنید.

  • اسکریپت بارها تست شده و باگ هایش گرفته شده است.

  • حتما در سرور تست، نخست تانل را ازمایش کنید و سپس اقدام به استفاده از آن بکنید.

  • تمامی تست های من با سرورهای کاملا فیلتر شده بوده است.

  • در این اسکریپت شما میتوانید 10 سرور خارج را به یک سرور ایران وصل کنید ولی در تانل Ws + TLS تنها 5 سرور خارج را به یک سرور ایران، میتوانید وصل نمایید.

  • حتما اگر در تانل به مشکلی خوردید،لاگ سرویس را بررسی نمایید. systemctl status kharej-azumi و systemctl status iran-azumi

  • از TCP و UDP پشتیبانی میکند.

  • ریست تایمر برای سرویس های خود را بر اساس نیاز خودتان تعیین کنید.

  • حتما ریست تایمر سرور خارج و ایران یکسان باشد.

  • اگر از این تانل راضی بودید، میشه بعدا 2 سرور ایران هم اضافه کرد.

  • حتما در صورت مشکل دانلود، dns های خود را تغییر دهید.

  • قبل از اجرای اسکریپت اصلی ، باید اسکریپت نصب پروژه را اجرا کنید.(اگر خطایی در compile کردن پروژه گرفتید، در اینترنت سرچ کنید و مشکل compile نشدن پروژه را بیابید)

  • پنل شما در خارج باید نصب شده باشد

  • اگر به هر دلیلی پیش نیاز ها برای شما نصب نشد و خطا گرفتید، لطفا با قرار دادن DNS دوباره امتحان بفرمایید.

  • اگر اختلالی در تانل داشتید همیشه وارد مسیر روبرو شوید cd /etc/systemd/system و با دستور ls ، سرویس های خارج و ایران را بیابید و با دستور systemctl status servicename و یا journalctl -u servicename.service ، دلیل اختلال تانل را بیابید


خطا
  • اگر مشکل heartbeat داشتید احتمالا به خاطر تایم اوت در سرور ایران شما میباشد.با این حال میتوانید اسکریپت بدون heartbeat را هم تست کنید.

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


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

Imageنصب پروژه
  • با این اسکریپت click ، نخست پروژه را بر روی تمامی سرور ها نصب نمایید. من تنها بر روی 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 ، این پیش نیاز را نصب کنید یا به صورت دستی نصب نمایید.
  • حتما در صورت مشکل دانلود، 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 پیش نیازها

  • لطفا سرور اپدیت شده باشه.
  • میتوانید از اسکریپت اقای Hwashemi و یا OPIRAN هم برای بهینه سازی سرور در صورت تمایل استفاده نمایید.

6348248 آموزش

Image تانل ریورس TCP ایپی 4

green-dot-clipart-3 سرور ایران

مسیر : IPV4 TCP > IRAN

Image

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

green-dot-clipart-3 سرور خارج اول

مسیر : IPV4 TCP > KHAREJ 1

Image

  • سرور اول خارج را کانفیگ میکنم.
  • از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد.
  • مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد.
  • ایپی 4 ایران را وارد میکنم.
  • پورت تانل که 443 قرار داده بودم
  • من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم.
  • پورت های کانفیگ سرور اول خارج 8080 و 8081 بود.
  • گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم.
  • ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)
  • در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید.

green-dot-clipart-3 سرور خارج دوم

مسیر : 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 سرور ایران

مسیر : IPV6 TCP > IRAN

Image

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

green-dot-clipart-3 سرور خارج اول

مسیر : IPV6 TCP > KHAREJ 1

Image

  • سرور اول خارج را کانفیگ میکنم.
  • از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد.
  • مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد.
  • ایپی 6 ایران را وارد میکنم.
  • پورت تانل که 443 قرار داده بودم
  • من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم.
  • پورت های کانفیگ سرور اول خارج 8080 و 8081 بود.
  • گزینه nodelay هم که در سرور ایران فعال کرده بودیم پس در اینجا هم فعال میکنم.
  • ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)
  • در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید.

green-dot-clipart-3 سرور خارج دوم

مسیر : 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 سرور ایران

مسیر : IPV4 UDP > IRAN

Image

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

green-dot-clipart-3 سرور خارج اول

مسیر : 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 سرور ایران

مسیر : IPV6 UDP > IRAN

Image

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

green-dot-clipart-3 سرور خارج اول

مسیر : 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 سرور ایران

مسیر : 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 سرور خارج اول

مسیر : IPV4 WS + TLS > Kharej 1

Image

  • سرور اول خارج را کانفیگ میکنم.
  • از انجا که این ریورس تانل شبیه frp میباشد، من هم از starting number برای جدا کردن کانفیگ ها استفاده خواهم کرد.
  • مقدار starting number برای سرور اول خارج، همیشه عدد یک میباشد.
  • ایپی 4 ایران را وارد میکنم.
  • پورت تانل که 443 قرار داده بودم
  • من 2 عدد کانفیگ در سرور خارج داشتم. پس عدد 2 را وارد میکنم.
  • پورت های کانفیگ سرور اول خارج 8080 و 8081 بود.
  • ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)
  • در اخر یک عدد به شما نشان داده میشود. در سرور خارج بعدی وقتی از شما مقدار starting number را خواست، عددی که به شما نمایش داده شده است را وارد نمایید.

green-dot-clipart-3 سرور خارج دوم

مسیر : 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 سرور ایران

مسیر : 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 سرور خارج اول

مسیر : 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 سرور ایران

مسیر : IPV6 Noise TLS > IRAN

Image

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

green-dot-clipart-3 سرور خارج اول

مسیر : IPV6 Noise TLS > KHAREJ 1

Image

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

green-dot-clipart-3 سرور خارج دوم

مسیر : 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 اسکریپت های کارآمد :

  • این اسکریپت ها optional میباشد.

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) اسکریپت من

کامپایل پروژه
  • دستور زیر پروژه را بر روی سرور شما 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


Documentation

Overview

Author:github.com/Azumi67 This script is for educational use and for my own learning, but I'd be happy if you find it useful too. This script simplifies the configuration of Rathole Reverse tunnel. You can send me feedback so I can use it to learn more. This script comes without any warranty Thank you.

Author:github.com/Azumi67 This script is for educational use and for my own learning, but I'd be happy if you find it useful too. This script simplifies the configuration of Rathole Reverse tunnel. You can send me feedback so I can use it to learn more. This script comes without any warranty Thank you.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL