https://github.com/azumi67/reverse_tls
Establish a TLS Reverse Tunnel between different servers and clients. IPV4 | IPV6 - Supports TCP & UDP .
https://github.com/azumi67/reverse_tls
azumi reverse-tunnel tcp tls-tunnel tunnel udp v2ray wireguard
Last synced: about 2 months ago
JSON representation
Establish a TLS Reverse Tunnel between different servers and clients. IPV4 | IPV6 - Supports TCP & UDP .
- Host: GitHub
- URL: https://github.com/azumi67/reverse_tls
- Owner: Azumi67
- License: mit
- Created: 2023-12-26T20:37:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-05T08:53:12.000Z (about 2 months ago)
- Last Synced: 2025-04-05T09:28:44.390Z (about 2 months ago)
- Topics: azumi, reverse-tunnel, tcp, tls-tunnel, tunnel, udp, v2ray, wireguard
- Language: Go
- Homepage:
- Size: 88.9 KB
- Stars: 107
- Watchers: 0
- Forks: 35
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**این پروژه صرفا برای آموزش و بالا بردن دانش بوده است و هدف دیگری در ان نمیباشد**
**ریست تایمر این تانل از کرون به daemon برای بهینه تر شدن آن، تغییر کرد**

نام پروژه : ریورس تانل WS + WSS[TLS]
---------------------------------------------------------------
**امکانات**- پشتیبانی از TCP و UDP
- قابلیت تانل بر روی چندین پورت
- امکان استفاده از ایپی 4 و 6
- ریست تایمر انتخابی توسط شما و ویرایش آن (دقیقه یا ساعت)
- امکان استفاده از ساب دامین در ریورس تانل ( باید برایش cert گرفته شود)
- امکان استفاده از چند سرور خارج و یک سرور ایران
- امکان حذف تمامی تانل ها و سرویس ها
---------------
- **دستور kill به ریست تایمر اضافه شد. اگر مشکل قطعی داشتید از طریق گزینه edit menu و minutes تایم خود را از ساعت به دقیقه تغییر دهید.**
- **دستور bin bash برای سرور های ایرانی که مشکل اجرا نشدن دستور cron را داشتند، اضافه شد. برای کانفیگ دوباره، نخست uninstall کنید که دستورات cron پیشین پاک شود.**
- **این تانل منابع زیادی میخواهد پس دقت نمایید**
- دستور ریست سرویس از کرون به daemon تغییر کرد
------------------------------------------------------
توضیحات
------------------------------------- **اگر سرعتتون پایین بود، لطفا هم بر روی سرور ایران و خارج optimizer نصب کنید.**
- اگر در generate کردن key ها مشکل داشتید، حتما اطمینان پیدا کنید که openssl نصب شده باشه. sudo apt-get install pkg-config libssl-dev
- حتما در سرور تست، نخست تانل را ازمایش کنید و سپس اقدام به استفاده از آن بکنید.
- تمامی تست های من با سرورهای کاملا فیلتر شده بوده است.
- در این اسکریپت شما یا با WS، ریورس تانل را برقرار میکنید یا با TLS
- **حدودا پنج ثانیه طول میکشد که ارتباط شما با تانل برقرار شود مخصوصا در کلاینت وایرگارد** (در کلاینت وایرگارد، حدودا 5 ثانیه طول میکشد تا ارتباط شما برای بار اول برقرار شود)
- از TCP و UDP پشتیبانی میکند.
- ریست تایمر برای سرویس های خود را بر اساس نیاز خودتان تعیین کنید.
- در این تانل میتوانید چندین سرور خارج را به یک سرور ایران وصل کنید. اگر از این ریورس تانل راضی بودید، میشود تعداد سرور خارج و ایران را افزایش داد.
- حتما ریست تایمر سرور خارج و ایران یکسان باشد.
- حتما در صورت مشکل دانلود، dns های خود را تغییر دهید.
- پنل شما در خارج باید نصب شده باشد
- اگر به هر دلیلی پیش نیاز ها برای شما نصب نشد و خطا گرفتید، دوباره امتحان بفرمایید.
- اگر به هر دلیلی نتوانستید برای ساب دامین خود cert بگیرید به صورت دستی با acme اینکار را انجام دهید و سپس قسمت cert در اسکریپت را skip کنید.
- اگر اختلالی در تانل داشتید همیشه وارد مسیر روبرو شوید cd /etc/systemd/system و با دستور ls ، سرویس های خارج و ایران را بیابید و با دستور systemctl status servicename و یا journalctl -u servicename.service ، دلیل اختلال تانل را بیابید
------------------------
---------------------------------
اموزش نصب go مورد نیاز برای اجرای اسکریپت
------------------------------------- شما میتوانید از طریق اسکریپت [Here](https://github.com/Azumi67/Reverse_tls/tree/main#%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.gzamd64 : 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.gznano ~/.bash_profile
paste this into it : export PATH=$PATH:/usr/local/go/bin
save and exit with Ctrl + x , then Ysource ~/.bash_profile
go mod init mymodule
go mod tidy
go get github.com/AlecAivazis/survey/v2
go get github.com/fatih/color```
- سپس اسکریپت را میتوانید اجرا نمایید.
------------------

**پیش نیازها**- لطفا سرور اپدیت شده باشه.
- میتوانید از اسکریپت اقای [Hwashemi](https://github.com/hawshemi/Linux-Optimizer) و یا [OPIRAN](https://github.com/opiran-club/VPS-Optimizer) هم برای بهینه سازی سرور در صورت تمایل استفاده نمایید.----------------------------

**آموزش**
-
تانل ریورس WS ایپی 4 [TCP]
------------------------------------ **سرور ایران**
**مسیر : WS TCP > IPV4 > IRAN**
![]()
- نخست سرور ایران را کانفیگ میکنم
- اگر خطای GIT CLONE در نصب پیش نیاز ها گرفتید، دوباره تلاش کنید
- من دو سرور خارج دارم پس عدد 2 را وارد میکنم.
- پورت تانل را 443 قرار میدهم.
- پورت های سرور اول من 8080 و 8081 میباشد . اینگونه وارد میکنم 8080,8081
- پس از آن، کلیدی برای سرور اول خارج، GENERATE میشود. باید از این کلید در سرور اول خارج استفاده کنید.
- پورت های سرور دوم خارج من 8082 و 8083 میباشد . پس اینگونه وارد میکنم : 8082,8083
- کلید سرور دوم خارج هم GENERATE میشود و از آن در سرور دوم خارج، استفاده خواهیم کرد.
- ریست تایمر را هم هر 2 ساعت انتخاب میکنم.
----------------------
 **سرور خارج اول****مسیر : WS TCP > IPV4 > KHAREJ 1**
![]()
- سرور اول خارج را کانفیگ میکنم.
- ایپی 4 سرور ایران را وارد میکنم.
- پورت تانل که 443 قرار داده بودم
- کلیدی که برای سرور اول خارج GENERATE شده بود را اینجا PASTE میکنم.
- پورت های کانفیگ سرور اول خارج 8080 و 8081 بود پس اینگونه وارد میکنم : 8080,8081
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)--------------------------------------
 **سرور خارج دوم**
**مسیر : WS TCP > IPV4 > KHAREJ 2**
![]()
- سرور دوم خارج را کانفیگ میکنم.
- ایپی 4 سرور ایران را وارد میکنم.
- پورت تانل که 443 قرار داده بودم
- کلیدی که برای سرور دوم خارج GENERATE شده بود را اینجا PASTE میکنم.
- پورت های کانفیگ سرور دوم خارج 8082 و 8083 بود پس اینگونه وارد میکنم : 8082,8083
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)------------------------
تانل ریورس WS ایپی 6 [TCP]
------------------------------------ **سرور ایران**
**مسیر : WS TCP > IPV6 > IRAN**
![]()
- نخست سرور ایران را کانفیگ میکنیم
- اگر خطای GIT CLONE در نصب پیش نیاز ها گرفتید، دوباره تلاش کنید
- من دو سرور خارج داشتم پس عدد 2 را وارد میکنم.
- پورت تانل را 443 قرار میدهم.
- پورت های سرور اول من 8080 و 8081 میباشد . اینگونه وارد میکنم 8080,8081
- پس از آن، کلیدی برای سرور اول خارج، GENERATE میشود. باید از این کلید در سرور اول خارج استفاده کنید.
- پورت های سرور دوم خارج من 8082 و 8083 میباشد . پس اینگونه وارد میکنم : 8082,8083
- کلید سرور دوم خارج هم GENERATE میشود و از آن در سرور دوم خارج، استفاده خواهم کرد.
- ریست تایمر را هم هر 2 ساعت انتخاب میکنم.
----------------------
 **سرور خارج اول****مسیر : WS TCP > IPV6 > KHAREJ 1**
![]()
- سرور اول خارج را کانفیگ میکنم.
- ایپی 6 سرور ایران را وارد میکنم.
- پورت تانل که 443 قرار داده بودم
- کلیدی که برای سرور اول خارج GENERATE شده بود را اینجا PASTE میکنم.
- پورت های کانفیگ سرور اول خارج 8080 و 8081 بود پس اینگونه وارد میکنم : 8080,8081
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)--------------------------------------
 **سرور خارج دوم**
**مسیر : WS TCP > IPV4 > KHAREJ 2**
![]()
- سرور دوم خارج را کانفیگ میکنم.
- ایپی 6 سرور ایران را وارد میکنم.
- پورت تانل که 443 قرار داده بودم
- کلیدی که برای سرور دوم خارج، GENERATE شده بود را اینجا PASTE میکنم.
- پورت های کانفیگ سرور دوم خارج 8082 و 8083 بود پس اینگونه وارد میکنم : 8082,8083
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)------------------------
تانل ریورس WS ایپی 4 [UDP]
------------------------------------ **سرور ایران**
**مسیر : WS UDP > IPV4 > IRAN**
![]()
- نخست سرور ایران را کانفیگ میکنم
- اگر خطای GIT CLONE در نصب پیش نیاز ها گرفتید، دوباره تلاش کنید
- من 1 سرور خارج داشتم پس عدد 1 را وارد میکنم.
- پورت تانل را 443 قرار میدهم.
- پورت سرور من 50820 است . پورت وایرگاردم میباشد.
- پس از آن، کلیدی برای سرور خارج GENERATE میشود. باید از این کلید در سرور خارج استفاده کنید.
- ریست تایمر را هم هر 2 ساعت انتخاب میکنم.
----------------------
 **سرور خارج****مسیر : WS UDP > IPV4 > KHAREJ **
![]()
- سرور خارج را کانفیگ میکنیم.
- ایپی 4 سرور ایران را وارد میکنم.
- پورت تانل که 443 قرار داده بودم
- کلیدی که برای سرور خارج GENERATE شده بود را اینجا PASTE میکنم.
- پورت کانفیگ سرور خارج 50820 بود پس اینگونه وارد میکنم : 50820
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)
------------------------
تانل ریورس WS ایپی 6 [UDP]
------------------------------------ **سرور ایران**
**مسیر : WS UDP > IPV6 > IRAN**
![]()
- نخست سرور ایران را کانفیگ میکنم
- اگر خطای GIT CLONE در نصب پیش نیاز ها گرفتید، دوباره تلاش کنید
- من 1 سرور خارج داشتم پس عدد 1 را وارد میکنم.
- پورت تانل را 443 قرار میدهم.
- پورت سرور من 50820 است . پورت وایرگاردم میباشد.
- پس از آن، کلیدی برای سرور خارج، GENERATE میشود. باید از این کلید در سرور خارج استفاده کنید.
- ریست تایمر را هم هر 2 ساعت انتخاب میکنم.
----------------------
 **سرور خارج****مسیر : WS UDP > IPV6 > KHAREJ **
![]()
- سرور خارج را کانفیگ میکنیم.
- ایپی 6 سرور ایران را وارد میکنم.
- پورت تانل که 443 قرار داده بودم
- کلیدی که برای سرور خارج GENERATE شده بود را اینجا PASTE میکنم.
- پورت کانفیگ سرور خارج 50820 بود پس اینگونه وارد میکنم : 50820
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)------------------------
تانل ریورس TLS با ساب دامین [TCP]
------------------------------------ **سرور ایران**
**مسیر : WSS TCP > IRAN**
![]()
- نخست سرور ایران را کانفیگ میکنیم
- اگر خطای GIT CLONE در نصب پیش نیاز ها گرفتید، دوباره تلاش کنید
- من قبلا CERT برای ساب دامین ام نگرفتم، پس گزینه NO رو میزنم که ACME نصب بشود.
- ایمیل ادرس را وارد میکنم و سپس ساب دامین را وارد میکنم که CERT برایش گرفته شود.
- من پشت ساب دامین از ایپی 4 استفاده کردم. شما میتوانید با ایپی 6 NATIVE هم تست نمایید.
![]()
- من دو سرور خارج داشتم پس عدد 2 را وارد میکنم.
- پورت تانل باید 443 باشد.(توجه کنید)
- نام ساب دامین تان را وارد نمایید. ساب دامینی که برایش CERT گرفتید.
- پورت های سرور اول خارج من 8080 و 8081 میباشد.
- پس از آن، کلیدی برای سرور اول خارج، GENERATE میشود. باید از این کلید در سرور اول خارج استفاده کنید.
- پورت های سرور دوم خارج من 8082 و 8083 میباشد.
- پس از آن، کلیدی برای سرور دوم خارج GENERATE میشود. باید از این کلید در سرور دوم خارج استفاده کنید.
- ریست تایمر را هم هر 2 ساعت انتخاب میکنم.
----------------------
 **سرور خارج اول****مسیر : WSS TCP > KHAREJ 1**
![]()
- سرور اول خارج را کانفیگ میکنم.
- نام ساب دامینی که برایش CERT گرفتم را وارد میکنم.
- پورت تانل نیازی نیست
- کلیدی که برای سرور اول خارج، GENERATE شده بود را اینجا PASTE میکنم.
- تعداد کانفیگ من 2 عدد میباشد پس عدد 2 را وارد میکنم.
- پورت کانفیگ سرور اول خارج، 8080 و 8081 بود. در اینجا پورت ها را جداگانه وارد میکنیم.
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)--------------------------------------
 **سرور خارج دوم****مسیر : WSS TCP > KHAREJ 2**
![]()
- سرور دوم خارج را کانفیگ میکنم.
- نام ساب دامینی که برایش CERT گرفتم را وارد میکنم.
- پورت تانل نیازی نیست
- کلیدی که برای سرور دوم خارج، GENERATE شده بود را اینجا PASTE میکنم.
- تعداد کانفیگ من 2 عدد میباشد پس عدد 2 را وارد میکنم.
- پورت کانفیگ سرور دوم خارج، 8082 و 8083 بود. در اینجا پورت ها را جداگانه وارد میکنم.
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)------------------------
تانل ریورس TLS با ساب دامین [UDP]
------------------------------------ **سرور ایران**
**مسیر : WSS UDP > IRAN**
![]()
- نخست سرور ایران را کانفیگ میکنیم
- اگر خطای GIT CLONE در نصب پیش نیاز ها گرفتید، دوباره تلاش کنید
- من قبلا CERT برای ساب دامین ام گرفتم، پس گزینه Y رو میزنم که SKIP بشود.
- من یک سرور خارج دارم پس عدد 1 را وارد میکنم.
- پورت تانل باید 443 باشد.(توجه کنید)
- نام ساب دامین را وارد نمایید. ساب دامینی که برایش CERT گرفتید.
- پورت سرور خارج من 50824 میباشد. پورت وایرگاردم میباشد.
- پس از آن، کلیدی برای سرور خارج GENERATE میشود. باید از این کلید در سرور خارج استفاده کنید.
- ریست تایمر را هم هر 2 ساعت انتخاب میکنم.
----------------------
 **سرور خارج****مسیر : WSS UDP > KHAREJ 1**
![]()
- سرور خارج را کانفیگ میکنم.
- نام ساب دامینی که برایش CERT گرفتم را وارد میکنم.
- پورت تانل نیازی نیست
- کلیدی که برای سرور خارج، GENERATE شده بود را اینجا PASTE میکنم.
- تعداد کانفیگ من 1 عدد میباشد پس عدد 1 را وارد میکنم.
- پورت کانفیگ سرور خارج، 50820 بود.
- ریست تایمر هم که عدد 2 را وارد کرده بودیم. ( باید ریست تایمر یکسان باشد که همه سرویس ها همزمان ریست شوند)
- دقت نمایید که ممکن است برای بار اول تا 5 ثانیه طول بکشد تا ارتباط شما با تانل برقرار شود.
--------------------------------------
**اسکرین شات**
Click to reveal image
![]()
------------------------------------------

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

**اسکریپت من**
----------------
- دستور زیر فایل های پیش نیاز را نصب میکند و سپس اقدام به اجرای اسکریپت میکند. اگر مشکلی داشتید به صورت دستی هم میتوانید نصب کنید
```
sudo apt install curl -y && bash <(curl -s https://raw.githubusercontent.com/Azumi67/Reverse_tls/main/go.sh)
```- اگر به صورت دستی نصب کردید و پیش نیاز ها را هم دارید و میخواهید به صورت دستی هم اسکریپت را اجرا کنید میتوانید با دستور زیر اینکار را انجام دهید
```
rm tls.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/Reverse_tls/main/tls.go && go run tls.go
```---------------------------------------------

**سورس ها** [سورس OPIRAN](https://github.com/opiran-club)
[سورس Hwashemi](https://github.com/hawshemi/Linux-Optimizer)
-----------------------------------------------------