Hysteria2
Hysteria2 روی QUIC با TLS 1.3 و کنترل ازدحام اختصاصی اجرا میشود. چگونه کار میکند، چرا در لینکهای دارای افت بسته سریع است، UDP کجا آن را محدود میکند و Colitu چگونه از آن استفاده میکند.
Hysteria2 نخستین حالت اتصالی است که Adaptive Connect در Colitu روی همهٔ پلتفرمها امتحان میکند. این یک پروتکل پروکسی ساختهشده روی QUIC است، یعنی لایهٔ انتقال مبتنی بر UDP که زیر HTTP/3 قرار دارد، و برای حفظ توان عملیاتی در شبکههایی که بسته از دست میدهند طراحی شده است.
چیست
Hysteria2 را پروژهٔ متنباز apernet توسعه میدهد و در v2.hysteria.network مستند شده است. نسخهٔ 2 پروتکل را بازطراحی کرد تا احراز هویت درون یک تبادل استاندارد HTTP/3 انجام شود، که به سرور Hysteria2 اجازه میدهد شبیه یک وبسایت معمولی باشد. بر سه استاندارد عمومی بنا شده است:
- QUIC (RFC 9000): یک لایهٔ انتقال رمزگذاریشده روی UDP با جریانهای مستقل بسیار درون یک اتصال.
- TLS 1.3 (RFC 8446): QUIC همیشه از دستدهی TLS 1.3 برای توافق بر کلیدها و احراز هویت سرور استفاده میکند.
- HTTP/3 (RFC 9114): نسخهٔ HTTP که روی QUIC اجرا میشود؛ Hysteria2 آن را برای مرحلهٔ احراز هویت به کار میبرد.
چگونه کار میکند
- برنامه یک اتصال QUIC به سرور روی UDP باز میکند. دستدهی QUIC همان دستدهی TLS 1.3 است و برنامه گواهی سرور را مانند یک مرورگر بررسی میکند. روی سرورهای Colitu این یک گواهی واقعی است که بهطور خودکار از طریق ACME صادر میشود.
- درون اتصال، برنامه یک درخواست HTTP/3 همراه با اطلاعات احراز هویت خود میفرستد. اگر معتبر باشد، سرور تأیید میکند و اتصال به تونل تبدیل میشود. درخواست بدون اطلاعات معتبر مانند یک درخواست وب معمولی رفتار میشود، بنابراین هر که سرور را بررسی کند یک وبسرور عادی HTTP/3 میبیند.
- در طول این تبادل، دو طرف اطلاعات پهنای باند را هم به اشتراک میگذارند که کنترل ازدحام شرحدادهشده در ادامه از آن استفاده میکند.
- هر اتصال TCP از دستگاه شما، مثل یک صفحهٔ وب یا یک دانلود، جریان QUIC خودش را میگیرد. جریانها مستقلاند، پس بستهٔ ازدسترفته در یکی بقیه را معطل نمیکند.
- ترافیک UDP دستگاه شما، مانند تماسها، بازیها و DNS، بهجای فشرده شدن در یک جریان، بهصورت دیتاگرامهای QUIC حرکت میکند.
کنترل ازدحام: چرا در لینکهای دارای افت بسته سرعت را حفظ میکند
کنترل ازدحام کلاسیک TCP هر بستهٔ ازدسترفته را نشانهٔ سربار بودن مسیر میخواند و نرخ ارسال را کم میکند. در لینکهای Wi-Fi و موبایل، بستهها اغلب به دلایل دیگری گم میشوند: تداخل، جابهجایی بین سلولها، سیگنال ضعیف. TCP آنگاه بیدلیل کند میشود و بهآرامی بازیابی میکند، بهویژه در فواصل طولانی.
Hysteria2 کنترل ازدحام اختصاصی خود را دارد به نام Brutal. وقتی پهنای باند در دسترس معلوم باشد، Brutal با همان نرخ ارسال میکند و افت را با ارسال دوبارهٔ بستهها جبران میکند، بهجای عقبنشینی. وقتی پهنای باند تنظیم نشده باشد، Hysteria2 به BBR بازمیگردد که بهجای واکنش به هر بستهٔ ازدسترفته پهنای باند در دسترس را تخمین میزند. در هر دو حالت، نتیجه در لینکهای دارای افت توان عملیاتی پایدارتر از TCP مبتنی بر افت است.
چرا Colitu از آن استفاده میکند
بسیاری از مشکلاتی که مردم هنگام جابهجایی با VPN دارند مسدودسازی نیست، بلکه لینک بد است: قطار، کافهٔ شلوغ، مسیر طولانی بین کشورها. پروتکلهای مبتنی بر TCP آنجا سرعت از دست میدهند؛ Hysteria2 دقیقاً برای همین حالت ساخته شده است. استتار واقعی هم دارد: یک گواهی معتبر و یک دستدهی شبیه HTTP/3، پروتکلی که وبسایتهای بزرگ از قبل ارائه میکنند.
کجا قوی است
- دادههای تلفن همراه. افت رادیویی و سیگنال متغیر چیزهایی هستند که جبران افت Brutal و جریانهای مستقل QUIC خوب از پسشان برمیآیند.
- Wi-Fi شلوغ یا دور. تداخل افتی ایجاد میکند که ازدحام نیست؛ Hysteria2 بهجای نصف کردن سرعت، سرعتش را حفظ میکند.
- مسیرهای طولانی بینالمللی. با رفتوبرگشتهای طولانی، TCP پس از هر افت زمان زیادی برای بازیابی لازم دارد؛ Hysteria2 بهسادگی دوباره ارسال میکند.
- تماسها و بازیها. ترافیک UDP بهصورت دیتاگرام حرکت میکند، پس یک بستهٔ ازدسترفته بستههای پشت سرش را به تأخیر نمیاندازد.
- شبکههای فیلترشدهای که هنوز QUIC را اجازه میدهند. ناظر منفعل HTTP/3 را به سایتی با گواهی معتبر میبیند و پویش فعال بدون اطلاعات احراز هویت پاسخ یک وبسرور را میگیرد.
محدودیتها و زمانی که بهترین انتخاب نیست
- ممکن است UDP مسدود یا کند شده باشد. برخی شبکههای سازمانی، هتل، دانشگاه و موبایل UDP یا QUIC را محدود میکنند. در این صورت Hysteria2 نمیتواند وصل شود یا کند اجرا میشود و یک حالت TCP انتخاب بهتری است.
- QUIC را میتوان جدا کرد. برخی سامانههای فیلترینگ با QUIC به آدرسهای ناآشنا متفاوت از TCP رفتار میکنند، مثلاً آن را کند میکنند. حالتهای مبتنی بر Reality آنجا بهتر در ترافیک محو میشوند.
- انصاف روی لینک ضعیف مشترک. ارسال تهاجمی برای اتصال خودتان خوب است اما میتواند دستگاههای دیگر را روی همان لینک بسیار ضعیف کنار بزند.
- Captive portalها. در Wi-Fi هتل یا کافه باید ابتدا در صفحهٔ پورتال وارد شوید؛ هیچ حالت VPNی پیش از آن نمیتواند وصل شود.
Adaptive Connect چگونه از آن استفاده میکند
Hysteria2 در Android، iOS، Windows و Linux اول ترتیب است. اگر وصل شود و ترافیک واقعی بررسی را بگذراند، روی آن میمانید. اگر UDP مسدود باشد، دستدهی ناموفق شود یا تونل چیزی حمل نکند، برنامه ادامه میدهد:
- در Android و iOS به VLESS Reality، سپس VLESS XHTTP، Trojan و Shadowsocks 2022؛
- در Windows و Linux به حالتهای TCP، به ترتیب زمان اتصال اندازهگیریشدهٔ آنها.
تلاش Hysteria2 که چیزی حمل نکرده عقب انداخته میشود (در Windows و Linux به مدت 10 دقیقه)، بنابراین اتصال بعدی زمانی را برای آن تلف نمیکند.
امنیت و رمزگذاری
- رمزگذاری: کلیدها از دستدهی TLS 1.3 درون QUIC میآیند و هر بسته پس از دستدهی رمزگذاری و احراز هویت میشود.
- احراز هویت سرور: سرور گواهی واقعی از یک مرجع گواهی عمومی ارائه میکند که بهطور خودکار از طریق ACME دریافت و تمدید میشود. برنامه آن را بررسی میکند، بنابراین مهاجم میانی نمیتواند خود را جای سرور جا بزند.
- احراز هویت کلاینت: حساب شما برای هر سرور اطلاعات جداگانه دارد و سرور پیش از حمل هر ترافیکی آنها را بررسی میکند.
- یک دامنه: Hysteria2 مانند حالتهای دیگر از طریق نام دامنهٔ سرور قابل دسترسی است و Trojan از همان گواهی استفاده میکند.
- بدون گزارش دسترسی: سرورهای Colitu سایتهایی را که بازدید میکنید ثبت نمیکنند؛ صفحهٔ امنیت را ببینید.
منابع
امتحانش کنید
Hysteria2 در هر برنامهٔ Colitu بدون هیچ تنظیمی کار میکند و وقتی UDP مسدود باشد برنامه خودش به یک حالت TCP میرود. Colitu را دانلود کنید یا مکانهای سرور را ببینید.