# TunnelX
فارسی |
[English](README.md) |
[Русский](README.md#русский) |
[简体中文](README.md#简体中文)
TunnelX یک نرمافزار آزاد و رایگان برای ویندوز است که توسط **
MaxFan** ساخته شده و برای مدیریت تونل، ویپیان و
Split Tunneling استفاده میشود. این برنامه میتواند ترافیک برنامههای انتخابشده، مقصدهای مشخص، یا کل سیستم را از تونل عبور دهد و همزمان مسیر عادی شبکه را برای مقصدهای محلی یا مستثنیشده حفظ کند.
## کاربرد برنامه
TunnelX برای زمانی ساخته شده که کاربر نمیخواهد تمام ترافیک سیستم از ویپیان عبور کند. با این برنامه میتوان فقط برنامههایی مثل مرورگر، تلگرام، ابزارهای توسعه یا برنامههای مشخص دیگر را وارد تونل کرد و بقیه ترافیک سیستم را روی اینترنت عادی نگه داشت. همچنین در صورت نیاز، حالت
Full-route برای عبور کل سیستم از تونل در دسترس است.
## قابلیتها
-
Split tunneling بر اساس برنامههای انتخابشده در ویندوز
- حالت
Full-route برای تونل کردن کل سیستم
- پشتیبانی از پروفایلهای
L2TP/IPsec ویندوز
- پشتیبانی از جریانهای
V2Ray بر پایه
Xray-core و
sing-box
- پشتیبانی از پروفایلهای اختصاصی
SOCKS5/HTTP Proxy با سرور، پورت، نام کاربری و رمز عبور جداگانه
- پشتیبانی از
OpenVPN Community با فایلهای
`.ovpn` برای
Split tunneling برنامههای انتخابشده
- پروکسی
SOCKS5 محلی روی
`127.0.0.1` برای ابزارهایی که تنظیم پروکسی داخلی دارند
- تغییر مسیر
DNS، مسدودسازی
IPv6، محافظ نشت، عیبیابی
route و تاریخچه مصرف تونل
- مدیریت چند پروفایل، کپی/ویرایش کانفیگها، تست سرور، تشخیص
IP خروجی و اعلان بروزرسانی
- رابط کاربری فارسیمحور برای ویندوز
## شروع سریع
1. آخرین فایل
standalone را از بخش
GitHub Releases دانلود کنید.
2. برنامه را با دسترسی
Administrator اجرا کنید؛ قابلیتهای تغییر مسیر،
WinDivert و مدیریت ترافیک به سطح دسترسی بالا نیاز دارند.
3. از تب اتصال، یک کانفیگ جدید بسازید یا کانفیگ موجود را انتخاب کنید.
4. نوع اتصال را انتخاب کنید:
L2TP/IPsec،
V2Ray/Xray،
SOCKS5/HTTP Proxy یا
OpenVPN.
5. قبل از اتصال، تست سرور را اجرا کنید و سپس برنامههایی را که باید از تونل عبور کنند در تب برنامهها فعال کنید.
6. در صورت نیاز، مقصدهای لزومی یا استثنا را اضافه کنید و بعد از اتصال کارت سلامت ترافیک،
DNS،
IPv6 و
Route را بررسی کنید.
## انواع اتصال
###
L2TP/IPsec
برای اتصالهای
L2TP/IPsec، آدرس سرور، نام کاربری، رمز عبور و
Pre-Shared Key را وارد کنید.
TunnelX اتصال ویندوز را ایجاد میکند و سپس مسیرها را بر اساس حالت انتخابی یا
Full-route مدیریت میکند.
###
V2Ray / Xray
لینک یا کانفیگ
V2Ray/Xray را در پروفایل وارد کنید. برنامه برای کانفیگهای معمول از
sing-box استفاده میکند و برای کانفیگهایی که به قابلیتهای خاص
Xray مثل
xhttp نیاز دارند،
Xray-core را انتخاب میکند.
###
SOCKS5/HTTP Proxy
اگر از پراکسی آماده استفاده میکنید، نوع پروفایل
SOCKS5/HTTP Proxy را انتخاب کنید و سرور، پورت و در صورت نیاز نام کاربری و رمز عبور را وارد کنید. این حالت برای عبور برنامههای انتخابشده از یک پراکسی خارجی مناسب است و با پراکسی محلی
`127.0.0.1` تفاوت دارد.
## پشتیبانی از
OpenVPN
TunnelX میتواند نسخه نصبشده
OpenVPN Community و فایل انتخابی
`.ovpn` کاربر را اجرا کند و سپس سیاست
Split tunneling خودش را اعمال کند؛ یعنی فقط برنامهها و مقصدهای انتخابشده از تونل
OpenVPN عبور میکنند.
OpenVPN همراه
TunnelX توزیع نمیشود. برای این حالت باید
OpenVPN Community را جداگانه نصب کنید، فایل
`.ovpn` را در
TunnelX انتخاب کنید و در صورت نیاز نام کاربری و رمز عبور
OpenVPN را داخل برنامه وارد کنید. نصب بودن
OpenVPN Connect بهتنهایی برای این حالت کافی نیست، چون آن برنامه مسیرها و
DNS را با کلاینت خودش مدیریت میکند.
TunnelX برای سازگاری با
Split tunneling، تنظیمات مسیر و
DNS تحمیلی فایل
`.ovpn` را کنترل میکند و در صورت تغییر
IP تونل،
gateway،
interface یا مقصد ریموت هنگام
reconnect، مسیردهی داخلی خودش را دوباره راهاندازی میکند.
## نکتههای مسیر و دامنه
قانونهای
Include و
Exclude هم خود دامنه واردشده و هم زیردامنههای آن را پوشش میدهند. برای نمونه، افزودن
`githubusercontent.com` پس از resolve شدن
DNS شامل
`raw.githubusercontent.com` هم میشود. اگر یک کلاینت
HTTPS در مرحله بررسی
certificate revocation خطا داد، ممکن است میزبانهای
OCSP/CRL آن از مسیر انتخابی قابل دسترسی نباشند؛ در این حالت خود برنامه دانلودکننده یا دامنههای revocation مربوطه را هم در لیست لزومی قرار دهید.
- مقصدهای استثناشده حتی برای برنامههای انتخابشده مستقیم میمانند.
- مقصدهای لزومی حتی اگر برنامه مربوطه انتخاب نشده باشد از تونل عبور میکنند.
- برای برنامههای
Store/MSIX،
WebView2 یا برنامههای چندپردازشی، برنامه را باز نگه دارید و فهرست برنامهها را دوباره بارگذاری کنید.
- اگر
Full-route روشن باشد، کل ترافیک سیستم از تونل عبور میکند و قانونهای مستقیم/استثنا همچنان برای نگه داشتن مقصدهای خاص روی مسیر عادی کاربرد دارند.
## تنظیمات و دادههای محلی
پروفایلها، برنامههای انتخابشده، مقصدهای لزومی/استثنا، تاریخچه اتصال و لاگها روی دستگاه کاربر نگهداری میشوند و معمولاً در مسیر
`%LOCALAPPDATA%\TunnelX` یا کنار برنامه قرار میگیرند.
TunnelX عمداً تحلیل آماری یا
telemetry برای نگهدارنده ارسال نمیکند.
لاگها ممکن است شامل نام پردازشها، نام دامنهها، آدرسهای
IP، پورتها و وضعیت اتصال باشند. قبل از ارسال عمومی لاگ در
GitHub Issues، اطلاعات حساس مثل آدرس سرور خصوصی، کلیدها،
UUID، رمزها و endpointهای شخصی را حذف کنید.
## عیبیابی سریع
- اگر اتصال برقرار نمیشود، اجرای برنامه با دسترسی
Administrator، فایروال، درستی کانفیگ، پورتهای پراکسی و نصب بودن پیشنیازهای مربوط به همان نوع اتصال را بررسی کنید.
- اگر ترافیک یک برنامه از تونل عبور نمیکند، برنامه را در تب برنامهها فعال کنید، برنامه را باز نگه دارید و فهرست برنامهها را دوباره بارگذاری کنید.
- اگر فقط یک سایت یا دامنه باید از تونل عبور کند، آن را به مقصدهای لزومی اضافه کنید؛ اگر باید مستقیم بماند، آن را به استثناها اضافه کنید.
- اگر خطای
DNS یا
IPv6 میبینید، کارت سلامت بعد از اتصال را بررسی کنید و در صورت نیاز یکبار قطع و وصل کنید تا مسیرها و قانونهای
DNS دوباره ساخته شوند.
- اگر از
OpenVPN استفاده میکنید و اتصال طولانی میشود، فایل
`.ovpn`، نام کاربری/رمز و نصب بودن
OpenVPN Community را بررسی کنید.
## تصاویر برنامه
| داشبورد اتصال | تنظیم پروفایل و سرور |
| --- | --- |
|

|

|
| انتخاب برنامهها برای تونل | تنظیمات تونل |
| --- | --- |
|

|

|
## دانلود
فایلهای آماده اجرا از بخش
Releases پروژه منتشر میشوند:
[دانلود آخرین نسخه از GitHub Releases](https://github.com/MaxiFan/TunnelX/releases/latest)
فایلهای منتشرشده توسط
GitHub Actions ساخته و آپلود میشوند. برای هر فایل اجرایی
standalone، فایل checksum با پسوند
`.sha256` هم منتشر میشود و در متن هر
Release لینک اجرای workflow قرار میگیرد.
نسخه پیشنهادی برای کاربران، فایل
standalone و
self-contained است. این نسخه به نصب جداگانه
.NET Runtime نیاز ندارد.
## نیازمندیهای اجرا
- ویندوز
10/11
- ویندوز ۶۴ بیتی:
`win-x64`
- دسترسی
Administrator هنگام اجرا، چون مدیریت
route و
packet interception به سطح دسترسی بالا نیاز دارد
- نسخههای ۳۲ بیتی ویندوز در حال حاضر پشتیبانی نمیشوند
## ساخت از سورس
برای توسعه یا ساخت دستی،
.NET 8 SDK لازم است:
```powershell
dotnet build AppTunnel.sln -c Release
dotnet publish AppTunnel\AppTunnel.csproj -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true -p:EnableCompressionInSingleFile=true -p:IncludeNativeLibrariesForSelfExtract=true -p:DebugType=None -p:DebugSymbols=false
```