Skip to content

Similar to frp, including the config format, but with improved performance. Low resource consumption. Hot reload. Written in Rust.

License

Notifications You must be signed in to change notification settings

hadimousavi79/rathole-tunnel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

رت هول چیست؟

یک پروکسی معکوس امن، پایدار و با کارایی بالا برای عبور از NAT، که با Rust نوشته شده است.

نحوه ی نصب

اسکریپت زیر را در سرور خود (دبیان یا اوبونتو اجرا کنید)

wget -Nq https://github.com/Musixal/rathole-tunnel/raw/main/rathole.sh && bash rathole.sh

نحوه ی کانفیگ

پس از اجرای اسکریپت از طریق دستور درج شده در بالا

1️⃣ اول باید سرور ایران رو کانفیگ کنید. گزینه ۱ کانفیگ تانل رو بزنید. مجددا گزینه ی ۱ سرور ایران رو انتخاب کنید. ازتون پورت تانل رو میخواد. مثلا ۸۰۸۰ یا ۴۴۳ یا پورت موردنظر خودتون رو بزنید. الان تعداد کانفیگ هایی که میخواید تانل کنید و پورتش رو نیاز دارید رو بزنید. مثلا ۲ کانفیگ. به ترتیب پورت کانفیگ ها رو وارد کنید. در پایان نوع transport رو انتخاب کنید که tcp یا udp میتونه باشه. سرویس در سرور ایران راه اندازی و نصب میشه. با ریستارت سرور هم خودش اجرا میشه. کارمون اینجا تموم شد.

2️⃣ برای سرور خارج بعد از اجرای اسکریپت گزینه ۱ کانفیگ تانل و بعد گزینه ۲ یعنی سرور خارج رو میزنیم. اینجا باید آدرس سرور ایران رو وارد کنید. بعد پورت تانل رو میخواد که باید با پورت تانل ایران یکی باشه. مجددا تعداد کانفیگ ها رو وارد کنید و پورت هایی که تو سرور ایران زدید رو باز همینجا وارد کنید. سپس نوع transport رو انتخاب کنید که tcp یا udp میتونه باشه. سرویس سرور خارج راه اندازی و نصب میشه.

3️⃣ از طریق گزینه ۳ میتونید وضعیت سرویس رو ببینید. در سرور ایران باید سرویس سرور ایران سبز باشه و سرویس سرور خارج قرمز باشه. در سرور خارج هم سرویس سرور خارج باید سبز و سرویس ایران قرمز باشه، یعنی برعکس هم. اگر هر دو تا قرمز بودند پس یک جای کار ایراد داره. مثلا پورتی رو انتخاب کردید که توسط نرم افزار دیگه داره استفاده میشه. دقت کنید پورت تانل نباید با پورت کانفیگ مشترک باشه.

4️⃣ برای حذف فایل ها و پاکسازی کامل تانل گزینه ۲ یعنی destroy tunnel رو بزنید.

5️⃣ برای ریستارت سرویس های مربوطه گزینه ۵ رو بزنید.

6️⃣ پیشنهاد میشه یه کرون جاب برای ریستارت خودکار سرویس ها ایجاد کنید. برای این کار گزینه ۶ رو بزنید. بعد گزینه ی ۱ اضافه کردن کرون جاب رو بزنید. سرور مدنظر یعنی ایران یا خارج رو انتخاب کنید. تایمی که میخواید ریستارت سرویس انجام بشه رو انتخاب کنید. مثلا برای هر ۶ ساعت عدد ۴ رو بزنید. برای پاک کردن کرون جاب گزینه ۶ و بعد گزینه ۲ یعنی delete رو انتخاب کنید. اسکریپت فقط کرون جاب خودش رو پاک میکنه و به بقیه کرون جاب هاتون کاری نداره. کرون جاب رو باید روی هر دو تا سرور ایران و خارج تنظیم کنید و مقدارش هم یک ساعت مشخص باشه. مثلا هر دو تا سرور هر ۶ ساعت باشه.

7️⃣ میتونید روی هر چند تا سرور خارج اسکریپت رو اجرا کنید و همه رو به یک سرور ایران متصل کنید. توی گیت هاب پروژه آموزشش هست.

8️⃣ روی دبیان ۱۲ و اوبونتو تست شده و مشکلی نداره.

🔑 پیشنهاد میکنم برای حفظ امنیت تانلتون حتما این کار رو انجام بدید.

اسکریپت رو اجرا کنید و گزینه هفتم یعنی Change security token رو انتخاب کنید. اسکریپت، سرور ایران یا خارج رو خودش تشخیص میده و مقدار فعلی توکن و همچنین یه مقدار رندوم و مطمئن رو بهتون پیشنهاد میده و از شما یه توکن جدید میخواد. توکن رندوم یا هر پسوردی که مدنظرتون هست رو به اسکریپت بدید. بعد از این کار سرویس رت هول به صورت خودکار ریستارت میشه. این مقدار باید در هر دو سرور یکی باشه. پس برای هر دو سرورتون این کار رو انجام بدید و یک توکن واحد رو وارد کنید.

🟢 نحوه ی تانل چند سرور خارج به یک سرور ایران:

دقت کنید برای این کار باید پورت تانل بین همه سرورها یکسان باشد. مثلا ۳ سرور خارج دارید.

0️⃣ در سرور ایران ۳ کانفیگ با مشخصات زیر می سازید. شماره پورت ها رو میتونید به دلخواه تغییر بدید:

پورت تانل: ۸۰۸۰ پورت کانفیگ ۱:‌ ۲۰۵۳ پورت کانفیگ ۲:‌ ۲۰۵۷ پورت کانفیگ ۳:‌ ۲۰۸۳

1️⃣ برای سرور خارج ۱ فقط یک کانفیگ میزنید: پورت تانل: ۸۰۸۰ پورت کانفیگ:‌ ۲۰۵۳

2️⃣ برای سرور خارج ۲ فقط یک کانفیگ میزنید: پورت تانل: ۸۰۸۰ پورت کانفیگ:‌ ۲۰۵۷

3️⃣ برای سرور خارج ۳ فقط یک کانفیگ میزنید: پورت تانل: ۸۰۸۰ پورت کانفیگ:‌ ۲۰۸۳

به این ترتیب هر پورت به یک سرور خارج تونل میشه. هر چقد سرور خارج داشته باشید میتونید متصل کنید و محدودیتی نداره. ‌پورت عجیب غریب هم نزنید.

پورت مانیتور

چیز خاصی نیست و از طریق اون میتونید ترافیک هر پورت رو تحت نظر داشته باشید. ارتباطی با تانل نداره. برای این کار گزینه ۶ از منوی اصلی رو انتخاب کنید. بعد گزینه ۱ اضافه کردن پورت ها رو میزنید.

به این صورت میشه پورت اضافه کرد:

8080, 443, 2058, 2056

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

برای مشاهده ترافیک مصرفی گزینه ۶ از منوی اصلی و بعد گزینه ۲ یعنی view traffic usage رو انتخاب کنید.

برای حذف قوانین iptables گزینه ۶ از منوی اصلی و بعد گزینه ۳ رو انتخاب کنید. این اسکریپت فقط قوانین مربوط به خودش رو پاک میکنه و به بقیه قوانین ایجاد شده کاری نداره.

منوی اسکریپت

Menu

کانال تلگرام من

برای اطلاعات بیشتر کانال زیر را چک کنید:

https://t.me/Gozar_Xray

سورس کد

https://github.com/rapiz1/rathole

About

Similar to frp, including the config format, but with improved performance. Low resource consumption. Hot reload. Written in Rust.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%