https://github.com/azumi67/http2_reversetunnel
Fast and secure tunnels over HTTP/2 . The tunnel is based HTTP/2 for speed and security. There are TCP connections between clients and one server and all the proxied connections are multiplexed using HTTP/2.
https://github.com/azumi67/http2_reversetunnel
Last synced: about 1 year ago
JSON representation
Fast and secure tunnels over HTTP/2 . The tunnel is based HTTP/2 for speed and security. There are TCP connections between clients and one server and all the proxied connections are multiplexed using HTTP/2.
- Host: GitHub
- URL: https://github.com/azumi67/http2_reversetunnel
- Owner: Azumi67
- License: mit
- Created: 2024-01-10T12:09:37.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-19T05:10:49.000Z (over 2 years ago)
- Last Synced: 2025-05-18T13:16:37.909Z (about 1 year ago)
- Language: Go
- Size: 66.4 KB
- Stars: 44
- Watchers: 0
- Forks: 14
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
**این پروژه صرفا برای آموزش و بالا بردن دانش بوده است و هدف دیگری در ان نمیباشد**

نام پروژه : تانل Reverse Http2 TCP
---------------------------------------------------------------

**امکانات**
- پشتیبانی از TCP
- مناسب برای استفاده شخصی با سرعت خوب
- قابلیت تانل بر روی تک پورت و چندین پورت
- امکان استفاده از ایپی فیلتر شده با ایپی 4
- تنظیم ریست تایمر به دقیقه
- ایجاد سرویس برای تمامی گزینه ها
- امکان حذف تمامی تانل ها و سرویس ها
-------------------
توضیحات
------------------------------------
- من این تانل را مثل بقیه تانل ها، تست های زیادی گرفتم و به این نتیجه رسیدم برای استفاده شخصی، سرعت مناسبی را در اختیار شما قرار میدهد.
- این تانل یک مشکل دارد و آن این است که اگر کانکشن فعالی بر روی آن نباشد، کانکشن و کلاینت id دراپ میشود و کانکشن قطع خواهد شد. برای همین یک گزینه به نام reset timer قرار دادم که مواقعی که خواب هستید ریست تایمر را بر روی 1 دقیقه بگذارید و مواقعی که از ان استفاده میکنید، ریست تایمر را بر روی 30 دقیقه بگذارید.( من خودم بر روی یک دقیقه گذاشتم و مشکلش ممکنه قطعی وصلی مقطعی شما به اندازه یک ثانیه باشد)
- برای همین این تانل برای مصرف شخصی، گشت گذار در اینستاگرام و یوتیوب خوب است.
- برای این تانل باید optimizer و وارپ وایرگارد را فعال کنید تا سرعت قابل توجهی داشته باشید.
--------------
نکات
------------------------------------
- اگر خطای /root/go.mod:3: invalid go version '1.21.5': must match format 1.23 گرفتید : اینکارها را انجام دهید :
```
nano /root/go.mod
delete "go 1.21.5"
paste this >> go 1.23
```
------------------------------------
اموزش نصب go مورد نیاز برای اجرای اسکریپت
------------------------------------
- شما میتوانید از طریق اسکریپت [Here](https://github.com/Azumi67/UDP2RAW_FEC#%D8%A7%D8%B3%DA%A9%D8%B1%DB%8C%D9%BE%D8%AA-%D9%85%D9%86) ، این پیش نیاز را نصب کنید یا به صورت دستی نصب نمایید.
- لطفا پس از نصب پیش نیاز ، برای اجرای اسکریپت 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
```
- سپس اسکریپت را میتوانید اجرا نمایید.
--------------

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

**آموزش**
-
ریورس تانل tcp
------------------------------------
 **سرور ایران**
**مسیر : IPV4 TCP > IRAN**
- سرور ایران را کانفیگ میکنیم
- پورت تانل را 5050 وارد میکنم
- پورت Https را 443 وارد میکنم. شما میتوانید پورت های دیگر Https را وارد کنید.
- پورت Http را 80 وارد میکنم. شما میتوانید پورت های دیگر http را وارد نمایید.
- دقت نمایید که این پورت ها درگیر نباشد.
- ریست تایمر را یک دقیقه میگذارم چون استفاده من از سرور به صورت مداوم نیست و امکان drop connection هست.
- بعدا در menu امکان تغییر ریست تایم هست.
------------------------------------
 **سرور خارج**
**مسیر : IPV4 TCP > Kharej**
- سرور خارج را کانفیگ میکنیم
- ایپی 4 ایران را وارد میکنم و مهم نیست فیلتر هست یا خیر
- تعداد کانفیگ را عدد 1 وارد میکنم چون تنها یک کانفیگ دارم
- پورت تانل را 5050 قرار میدم
- پورت کانفیگ را 8080 قرار میدم
- ریست تایمر را 1 دقیقه میذارم چون سرور ایران هم یک دقیقه گذاشتم و دلیلش هم بالاتر گفتم.
ویرایش ریست تایمر
------------------------------------
- به راحتی زمان جدید را به تانل اضافه کنید.
نصب وارپ وایرگارد در پنل علیرضا
- از قسمت xray setting و warp routing ، وارپ را فعال میکنم. create را بزنید و گزینه add outbound را کلیک و تمامی گزینه ها را فعال کنید.
- سپس داخل تب advanced و تب all میتوانید اینها را اضافه کنید . فقط به جای secrect و سایر موارد؛ مقادیر خود را قرار بدید( مقادیر SECRET KEY و سایر موارد توسط پنل شما ست شده است . پس قبل از کپی کردن متن پایین، نخست اون مقادیر را در Notepad بنویسید و در متن پایین جایگذاری کنید. یا قسمت هایی که فقط نیاز دارید را کپی کنید)
```
{
"api": {
"services": [
"HandlerService",
"LoggerService",
"StatsService"
],
"tag": "api"
},
"routing": {
"domainStrategy": "AsIs",
"rules": [
{
"inboundTag": [
"api"
],
"outboundTag": "api",
"type": "field"
},
{
"ip": [
"geoip:private"
],
"outboundTag": "blocked",
"type": "field"
},
{
"outboundTag": "blocked",
"protocol": [
"bittorrent"
],
"type": "field"
},
{
"type": "field",
"outboundTag": "warp",
"domain": [
"geosite:openai",
"geosite:netflix",
"geosite:spotify",
"geosite:google",
"geosite:microsoft",
"geosite:youtube",
"geosite:meta"
]
}
]
},
"inbounds": [
{
"listen": "127.0.0.1",
"port": 62789,
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
},
"tag": "api"
}
],
"log": {
"loglevel": "warning"
},
"dns": {
"servers": [
"https://1.1.1.1/dns-query"
],
"queryStrategy": "UseIP"
},
"outbounds": [
{
"protocol": "freedom",
"settings": {},
"tag": "direct"
},
{
"protocol": "blackhole",
"settings": {},
"tag": "blocked"
},
{
"tag": "warp",
"protocol": "wireguard",
"settings": {
"mtu": 1420,
"DNS": "1.1.1.1 1.0.0.1",
"secretKey": "YOUR SECRET KEY اینجا",
"address": [
"172.16.0.2",
"YOUR WIREGUARD IPV6 ایپی 6 وایرگارد اینجا"
],
"workers": 2,
"peers": [
{
"publicKey": "پابلیک کی شما",
"allowedIPs": [
"0.0.0.0/0",
"::/0"
],
"endpoint": "engage.cloudflareclient.com:2408",
"keepAlive": 25
}
],
"kernelMode": false
}
}
],
"policy": {
"levels": {
"0": {
"statsUserDownlink": true,
"statsUserUplink": true
}
},
"system": {
"statsInboundDownlink": true,
"statsInboundUplink": true
}
},
"stats": {}
}
```
- حتما مقادیر خودتان را جایگذاری کنید. سپس میتوانید اینباند های خود را بسازید.
- اگرتانل شما از کار افتاد یکی از دلایل میتونه حتی این باشه که وارپ شما از کار افتاده.
-------------------------------
**اسکرین شات**
Click to reveal image
------------------------------------------

**اسکریپت های کارآمد :**
- این اسکریپت ها optional میباشد.
Opiran Script
```
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/Http2_reverseTunnel/main/install.sh)
```
- اگر به صورت دستی نصب کردید و پیش نیاز ها را هم دارید و میخواهید به صورت دستی هم اسکریپت را اجرا کنید میتوانید با دستور زیر اینکار را انجام دهید
```
rm http2.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/Http2_reverseTunnel/main/http2.go && go run http2.go
```