https://github.com/mahdigraph/ssh-tunnel
Multi-tunnel SSH TUN manager with split-tunneling, autossh + systemd, and policy routing (Ubuntu 24.04 tested).
https://github.com/mahdigraph/ssh-tunnel
proxy split-tunneling ssh ssh-tunnel vpn
Last synced: 4 months ago
JSON representation
Multi-tunnel SSH TUN manager with split-tunneling, autossh + systemd, and policy routing (Ubuntu 24.04 tested).
- Host: GitHub
- URL: https://github.com/mahdigraph/ssh-tunnel
- Owner: MahdiGraph
- Created: 2026-01-27T14:08:38.000Z (5 months ago)
- Default Branch: main
- Last Pushed: 2026-01-28T09:59:10.000Z (5 months ago)
- Last Synced: 2026-01-29T20:43:54.141Z (4 months ago)
- Topics: proxy, split-tunneling, ssh, ssh-tunnel, vpn
- Language: Shell
- Homepage:
- Size: 16.9 MB
- Stars: 2
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.fa.md
Awesome Lists containing this project
README
# مدیر تونل SSH (SSH Tunnel Manager)

[English](README.md)
یک ابزار سبک و خطفرمان برای ساخت و مدیریت **چندین تونل SSH TUN (از tun100 به بالا)** به همراه **اسپلیتتانلینگ** روی لینوکس.
این برنامه برای هر تونل فایلهای جدا در مسیر `/etc/sshtunnel/` میسازد، سرویسهای systemd را ایجاد میکند و قوانین مسیردهی را پایدار نگه میدارد.
✅ **تست شده روی Ubuntu 24.04, 22.04**
---
## نصب سریع
```bash
curl -fsSL https://raw.githubusercontent.com/MahdiGraph/SSH-Tunnel/refs/heads/main/ssh_tunnel.sh -o ssh_tunnel.sh \
&& chmod +x ssh_tunnel.sh \
&& sudo ./ssh_tunnel.sh
````
---
## این پروژه چیکار میکند؟
* **حالت Client**
* ساخت اینترفیسهای TUN به صورت خودکار (`tun100`, `tun101`, ...)
* انتخاب خودکار رنج آدرسها (`10.99.100.0/30` تا `10.99.255.0/30`)
* پیادهسازی **Split Tunneling** با Policy Routing (ip rule + جدول مسیردهی جدا برای هر تونل)
* پایداری بالا با **autossh + systemd** (Auto-reconnect)
* جلوگیری از تداخل بین تونلها (اینترفیس/سابنت/جدولها/پورت مانیتور autossh یکتا)
* **حالت Server**
* تنظیم sshd برای پشتیبانی از تونل (`PermitTunnel yes`)
* نگهداری کانفیگ اینترفیس سمت سرور به صورت دائمی
* فعالسازی NAT (MASQUERADE) برای سابنت تونل
---
## استفاده
اجرا کنید:
```bash
sudo ./ssh_tunnel.sh
```
بار اول، حالت **Server** یا **Client** را انتخاب میکنید و بعد از آن منو نمایش داده میشود:
* ساخت تونل جدید
* مدیریت تونلها (وضعیت، لاگ، تغییر لیست Split)
* خروج
---
## حمایت مالی (Donation)
* **TRC20 (USDT/TRX/…):** `TXqZ4x7N1c8FvRdsKZsBtPQpkeiiYd41Z7`
* **BSC / BEP20 (USDT/BNB/…):** `0x36746a1E963716e1bc16d15edB3e8653d8d083DB`
* **DOGE:** `DEp3a8fN8aDWqaFBKhh5hpzMtEux1EakDn`