پرش به محتویات

TrustTunnel

همهٔ قابلیت‌های هیدیفای

TrustTunnel یک پروتکل VPN است که در trusttunnel.org منتشر شده. ترافیک شما را به‌صورت درخواست‌های HTTP CONNECT داخل یک اتصال HTTPS حمل می‌کند؛ با HTTP/2 روی TLS یا با HTTP/3 روی QUIC. هیدیفای از کتابخانهٔ sing-trusttunnel استفاده می‌کند. در کانفیگ، خروجی "type": "trusttunnel" است و ورودی همین نوع یک سرور اجرا می‌کند.

چرا از آن استفاده کنیم

برای وصل شدن به یک سرور TrustTunnel، یا اجرای سرور خودتان با ورودی trusttunnel، از آن استفاده کنید. جایی که HTTPS به سایت‌های معمولی کار می‌کند ولی پروتکل‌های پروکسی مسدودند انتخاب خوبی است و با یک فیلد می‌تواند بین TCP (HTTP/2) و UDP (HTTP/3) جابه‌جا شود.

چطور از فیلترینگ عبور می‌کند

از دید فیلتر، اتصال TrustTunnel یک اتصال HTTPS به دامنهٔ سرور شماست: یک دست‌دادن عادی TLS و بعد HTTP/2 یا HTTP/3. ترافیک پروکسی‌شده داخل جریان‌های رمزنگاری‌شدهٔ HTTP است. ورود هم با سرآیند استاندارد Proxy-Authorization داخل همین رمزنگاری انجام می‌شود.

میزان محافظت به تنظیم TLS شما بستگی دارد. دامنهٔ واقعی با گواهی معتبر شبیه هر سایت HTTPS دیگری است. قابلیت‌های TLS مثل اثرانگشت uTLS و ECH از بلوک tls می‌آیند. وقتی آدرس IP یا دامنهٔ سرور مسدود است کمکی نمی‌کند، و حالت QUIC جایی که UDP یا QUIC مسدود است کمکی نمی‌کند.

چطور کار می‌کند

  • کلاینت یک اتصال TLS (یا QUIC) به سرور باز می‌کند و هر اتصال TCP پروکسی‌شده را به‌صورت یک درخواست HTTP CONNECT روی جریان جداگانه می‌فرستد. اتصال‌های زیادی همین یک اتصال را با هم به کار می‌برند.
  • ترافیک UDP از یک درخواست CONNECT به یک آدرس ویژه (_udp2) عبور می‌کند و بسته‌ها داخل جریان قاب‌بندی می‌شوند.
  • با روشن بودن health_check، وقتی اتصال ۷ ثانیه بیکار بماند کلاینت یک درخواست بررسی کوچک می‌فرستد تا اتصال مرده زود پیدا شود.
  • وقتی شبکه عوض می‌شود، کلاینت اتصال‌هایش را می‌بندد و اتصال‌های تازه باز می‌کند.
  • سرور نام کاربر و رمز عبور هر درخواست را بررسی می‌کند و کاربر ناشناس را رد می‌کند.

پیکربندی

{
  "outbounds": [
    {
      "type": "trusttunnel",
      "tag": "trusttunnel-out",
      "server": "vpn.example.com",
      "server_port": 443,
      "username": "alice",
      "password": "<password>",
      "tls": {
        "enabled": true,
        "server_name": "vpn.example.com"
      }
    }
  ]
}

فیلدهای خروجی

فیلد نوع پیش‌فرض معنی
server string الزامی آدرس سرور.
server_port عدد الزامی پورت سرور.
username string الزامی نام کاربر.
password string الزامی رمز عبور.
tls object الزامی تنظیمات TLS خروجی. enabled باید true باشد.
quic bool false به‌جای HTTP/2 روی TLS از HTTP/3 روی QUIC استفاده کند.
quic_congestion_control string "bbr" کنترل ازدحام QUIC: bbr، cubic یا reno. مقدار ناشناخته یعنی bbr.
health_check bool false وقتی اتصال ۷ ثانیه بیکار ماند آن را بررسی کند.
فیلدهای dialer فیلدهای معمول dialer خروجی، مثل detour.

فیلدهای ورودی

فیلد نوع پیش‌فرض معنی
users فهرست الزامی کاربرها، هر کدام با username و password.
network string هر دو tcp (HTTP/2)، udp (HTTP/3) یا خالی برای هر دو.
quic_congestion_control string "bbr" کنترل ازدحام برای کلاینت‌های HTTP/3: bbr، cubic یا reno.
tls object تنظیمات TLS ورودی. وقتی network شامل udp باشد الزامی است.
فیلدهای listen فیلدهای معمول listen ورودی، مثل listen و listen_port.

نکته‌ها

  • QUIC به برچسب ساخت with_quic نیاز دارد. نسخه‌های هیدیفای آن را دارند. بدون آن، quic: true با خطای «QUIC is not included» شکست می‌خورد.
  • بدون TLS یا بدون نام کاربر و رمز عبور، خروجی بارگذاری نمی‌شود. ورودی هم بدون دست‌کم یک کاربر بارگذاری نمی‌شود.
  • هر نام کاربر باید رمز عبور داشته باشد.

همچنین ببینید


اخرین بروزرسانی: 26 فوریهٔ 2026

نظرات