0چکیده
برخی شبکهها پروتکلهای VPN را مسدود میکنند؛ برخی دیگر اجازه میدهند اتصال برقرار شود و چند ده ثانیه بعد بیسروصدا ترافیک را متوقف میکنند. در چنین شبکهای «به پینگ پاسخ میدهد» و «ترافیک را حمل میکند» یک چیز نیستند. Colitu Adaptive Connect 2.0 مجموعه سازوکارهایی است که برنامههای Colitu در برابر این وضعیت به کار میبرند: رتبهبندی سرورها با رعایت نزدیکی و حریم خصوصی، حافظهٔ مخصوص هر شبکه که فقط روی دستگاه نگه داشته میشود، راهنماییهای شبکه که از شمارندههای ناشناس ساخته میشوند، بررسی زمان اتصال بر پایهٔ ترافیک واقعی، جابهجایی به سرور دیگر، یک مسیر پشتیبان آماده که درون اتصال در حال اجرا آماده نگه داشته میشود، و ناظری که همهٔ روشهای انتقال را پوشش میدهد. در آزمونی یکساعته که 11 خطا در سمت سرور تزریق شد، 98.8 % از پروبهای ترافیک موفق بودند؛ وقتی سرور در حال استفاده 101 ثانیه قطع شد، VPN روشن ماند و کاربر حدود 5 ثانیه توقف دید.
1مسئله و مدل خطا
نخستین وظیفهٔ یک برنامهٔ VPN رسیدن به سرور درست با حالت اتصال درست است. سرورهای Colitu پنج حالت اتصال از چهار خانوادهٔ پروتکل ارائه میدهند: Hysteria2 (UDP/QUIC)، VLESS Reality، VLESS XHTTP، Trojan و Shadowsocks 2022 (به مرکز پروتکلها نگاه کنید).
رویکرد کلاسیک سرورها را بر اساس پینگ رتبهبندی میکند و سریعترین پاسخدهنده را برمیگزیند. اما پینگ فقط یک اشاره است: در برخی شبکهها سرور به پینگ پاسخ میدهد و باز هم هیچ ترافیکی حمل نمیکند. حالت دشوارتر انجماد خاموش است: اتصال برقرار میشود، برنامه «متصل» نشان میدهد و پس از مدتی ترافیک متوقف میشود، در حالی که اتصال TCP همچنان باز به نظر میرسد. برای کاربر، VPN روشن است اما اینترنت رفته است.
هدف Adaptive Connect 2.0: هنگام اتصال مسیری بیابد که واقعاً کار میکند، مسیری را که در حین اتصال خراب میشود تشخیص دهد، تا حد امکان بدون خاموش کردن VPN کاربر را به مسیر دیگری ببرد، و همهٔ اینها را بدون جمعآوری اطلاعات دربارهٔ کاربر انجام دهد. انواع خطای زیر بر پایهٔ رفتاری است که در برخی شبکهها و نزد برخی اپراتورهای همراه دیده شده، نه بر پایهٔ کشوری خاص.
| خطا | در شبکه چه رخ میدهد | کاربر چه میبیند |
|---|---|---|
| مسدودسازی پروتکل | اتصال یک پروتکل هرگز برقرار نمیشود | اتصال برقرار نمیشود |
| انجماد خاموش | اتصال برقرار میشود، پس از N ثانیه ترافیک متوقف میشود، TCP باز میماند | «متصل» اما صفحهها بارگذاری نمیشوند |
| مسدودسازی UDP | حالتهای مبتنی بر UDP (Hysteria2) کار نمیکنند، TCP کار میکند | در حالت UDP اتصال برقرار نمیشود |
| از کار افتادن سرور | با هیچ پروتکلی نمیتوان به سرور رسید | روی آن سرور اتصال وجود ندارد |
| تغییر شبکه | جابهجایی بین Wi-Fi و داده همراه، قطع شدن Wi-Fi | قطعی کوتاه؛ مسدودسازی متفاوت روی شبکهٔ دیگر |
از این سه فرض نتیجه میشود: «کار میکند» ویژگی شبکه است، نه سرور؛ شبکه ممکن است همهٔ حالتهای TCP یک سرور را با هم منجمد کند، پس حالت TCP دیگر روی همان سرور بهعنوان پشتیبان بیفایده است؛ و اینترنت خود دستگاه هم ممکن است از بین برود که در آن صورت نباید هیچ حالتی مقصر شمرده شود.
2طراحی
رتبهبندی سرورها
مکانی که انتخاب کردهاید همانطور که هست استفاده میشود؛ Colitu هرگز انتخاب دستی را خودش جابهجا نمیکند. در حالت خودکار («سریعترین سرور») ترتیب چنین است:
| رتبه | معیار |
|---|---|
| 1 | سروری که آخرین بار روی شبکهٔ فعلی شما کار کرده است (24 ساعت به خاطر سپرده میشود) |
| 2 | کمترین پینگ اندازهگیریشده؛ پینگ قدیمیتر از 10 دقیقه یا اندازهگیریشده روی شبکهٔ دیگر به حساب نمیآید |
| 3 | سرورهای کشورهای دیگر پیش از سرورهای کشور خودتان، کشورهای نزدیکتر اول (وقتی هنوز پینگی نیست هم همین ترتیب) |
| 4 | سروری که به پینگ پاسخ نداده به انتها میرود |
| 5 | سروری که در 30 دقیقهٔ گذشته روی این شبکه شکست خورده در آخر قرار میگیرد |
«پیشنهادی» در فهرست سرورها همیشه سروری را نشان میدهد که حالت خودکار به آن وصل میشد. حریم خصوصی: برای مرتب کردن فهرست، پنل کشور شما و شبکهٔ ارائهدهندهٔ اینترنتتان را از نشانی IP همان یک درخواست تعیین میکند. هیچ چیز ذخیره نمیشود. وقتی درخواست از طریق VPN میآید پنل نمیتواند آنها را بداند و برنامه آخرین مقادیری را که یاد گرفته نگه میدارد.
حافظهٔ مخصوص هر شبکه
«شبکه» ترکیب نوع اتصال (Wi-Fi، داده همراه، Ethernet) با شبکهٔ ارائهدهندهٔ اینترنت شماست، بنابراین Wi-Fi خانه و داده همراه جداگانه به خاطر سپرده میشوند. این حافظه فقط روی دستگاه نگه داشته میشود: آخرین سرور کارکرده (24 ساعت)، آخرین حالت کارکرده برای هر سرور (24 ساعت)، حالتی که ترافیکی حمل نکرده («علامت توقف»، 6 ساعت) و سروری که همهچیز روی آن شکست خورده (30 دقیقه). ورودیهای قدیمی حذف میشوند و حداکثر 200 مورد نگه داشته میشود. بنابراین حالتی که روی داده همراه مسدود است، روی Wi-Fi خانه همچنان اول امتحان میشود.
راهنماییهای شبکه، بدون شناسایی کسی
حافظهٔ یک دستگاه فقط تجربهٔ همان دستگاه را میداند. راهنماییهای شبکه آنچه را که دستگاههای دیگر روی همان شبکه دیدهاند به اشتراک میگذارند:
- توکن امضاشدهٔ شبکه. پنل به برنامه توکنی با کشور و شمارهٔ شبکه (ASN) میدهد که با HMAC امضا شده و 48 ساعت اعتبار دارد. برنامه نتایج هر پروتکل را با آن گزارش میکند؛ نشانی IP درخواست هرگز برای مشاهدات استفاده نمیشود (در حین اتصال به هر حال نشانی سرور VPN است).
- شمارندههای ناشناس ساعتی. پنل فقط شمارندههای ساعتی برای هر کشور، شبکه و پروتکل نگه میدارد: موفقیتها، شکستها و تعداد دستگاههای متمایز. دستگاهها با نامهای مستعار کلیددار هر ساعت شمرده میشوند که با پایان آن ساعت حذف میشوند؛ شمارشها 7 روز نگه داشته میشوند.
- آستانهها. وقتی دستکم 5 دستگاه در 24 ساعت پروتکلی را امتحان کنند و موفقیت زیر 20 % باشد، آن پروتکل روی آن شبکه مسدود به حساب میآید؛ با دادههای ناکافی، سطح کشور به کار میرود (دستکم 20 دستگاه، زیر 10 %). هرگز همهٔ پروتکلهای ارائهشده مسدود علامتگذاری نمیشوند.
- استفاده. برنامه پروتکلهای مسدود را آخر امتحان میکند، مگر اینکه یکی از آنها در 24 ساعت گذشته روی این دستگاه در این شبکه کار کرده باشد.
بررسی سلامت و مسیر راستیآزمایی
یک حالت فقط وقتی کارکرده به حساب میآید که ترافیک واقعی جریان یابد. بررسی از طریق تونل نشانیهای رایج آزمون اتصال (Cloudflare، Google، Microsoft) را میپرسد، هرگز سرورهای خود Colitu را، و برای هر حالت حدود 4 تا 6 ثانیه طول میکشد. پیش از مقصر دانستن یک حالت، برنامه بررسی میکند که دستگاه اصلاً آنلاین باشد. بودجهٔ زمانی: حدود 8 ثانیه برای هر حالت، حدود 20 ثانیه برای هر سرور، حداکثر حدود 45 ثانیه برای یک اتصال کامل؛ معمولاً چند ثانیه کافی است.
مسیر راستیآزمایی. هر بار که هستهٔ VPN راه میافتد، یک ورودی بررسی خصوصی که فقط از خود دستگاه قابل دسترسی است (درگاه و اعتبارنامهٔ تصادفی) با قاعدهٔ اول مستقیم به مسیر اصلی هدایت میشود. بنابراین بررسی زمان اتصال فقط مسیر اصلی را میسنجد: مسیر اصلی خراب نمیتواند پشت پشتیبان پنهان شود و در اتصال بعدی از آن پرهیز میشود.
جابهجایی به سرور دیگر
در حالت خودکار، اگر هیچیک از حالتهای یک سرور بررسی را نگذراند، برنامه به سرور بعدی فهرست میرود، حداکثر 3 سرور برای هر اتصال، و «در حال امتحان سرور دیگر…» نشان میدهد. سرور ناموفق 30 دقیقه روی آن شبکه در انتها میماند. با روشن بودن قطعکن اضطراری (Kill Switch)، Windows و Linux بهجای همان سرور، فهرست را پایین میروند. اگر همهٔ حالتها روی سروری که خودتان انتخاب کردهاید شکست بخورد، پیام خطا با یک ضربه «امتحان سریعترین سرور» را پیشنهاد میدهد.
مسیر پشتیبان آماده
در حین اتصال، برنامه درون اتصال در حال اجرا یک مسیر دوم را آماده نگه میدارد. ترافیک از یک توزیعکننده میگذرد: تا وقتی مسیر اصلی سالم است همهچیز از آن استفاده میکند؛ اگر از کار بیفتد، ترافیک جدید خودبهخود به مسیر پشتیبان میرود. VPN روشن میماند و هیچ صفحهٔ «در حال اتصال مجدد» ظاهر نمیشود. چون جابهجایی درون اتصال رخ میدهد و نه در صفحهٔ برنامه، در پسزمینه هم کار میکند. توضیح بیشتر در مرکز راهنما: مسیر پشتیبان آماده.
| وضعیت | پشتیبان |
|---|---|
| حالت خودکار، یک روش انتقال روی این شبکه اثبات شده است (در 24 ساعت گذشته روی هر سروری کار کرده) | همان روش انتقال روی سرور بعدی در رتبهبندی |
| حالت خودکار، هنوز چیزی اثبات نشده | خانوادهٔ دیگر روی سرور بعدی (UDP ↔ TCP) |
| سرور بهصورت دستی انتخاب شده | همان سرور، خانوادهٔ دیگر؛ حالتهای متوقفشده رد میشوند، Shadowsocks آخر؛ مکان شما تغییر نمیکند |
| مسیر چندجهشی (Multihop) یا سرور تکحالتی | بدون پشتیبان |
حالتها و سرورهایی که روی این شبکه شکست خوردهاند هرگز پشتیبان نمیشوند. با وجود پشتیبان، مسیرهای TCP از مهلت کاربر TCP به مدت 10 ثانیه (RFC 5482) استفاده میکنند تا اتصالهای مرده بهجای معلق ماندن بسته شوند. تشخیص و جابهجایی بهطور میانگین روی رایانهها حدود 8 ثانیه و روی تلفنها حدود 10 تا 13 ثانیه طول میکشد (بدترین حالت حدود 23 ثانیه). بررسی مسیر اصلی روی تلفنها حدود 0.3 تا 2 MB در ساعت و روی رایانهها 4 تا 7 MB در ساعت هزینه دارد؛ خود مسیر پشتیبان فقط وقتی استفاده شود وصل میشود. مسیر پشتیبان نیز حدود هر دقیقه از طریق ورودی بررسی خودش بررسی میشود؛ پشتیبان مرده فقط وقتی تونل بیکار است جایگزین میشود، هرگز در حین تماس. مسیر پشتیبان آماده بهصورت پیشفرض روشن است و در حالت پیشرفته میتوان آن را خاموش کرد (حالت ساده و پیشرفته).
ناظر و قاعدهٔ آگاه از پشتیبان
تا وقتی وصل هستید همهٔ روشهای انتقال پایش میشوند (Adaptive Connect 1.x فقط Hysteria2 را پایش میکرد): در 90 ثانیهٔ اول هر 5 ثانیه، سپس هر 30 ثانیه. سه شکست پیاپی در حالی که دستگاه آنلاین است یعنی مسیر اصلی مرده به حساب میآید. با وجود پشتیبان، ناظر مسیر اصلی را بهتنهایی و مسیر عادی را جداگانه بررسی میکند:
| مسیر اصلی | مسیر عادی (با پشتیبان) | نتیجه |
|---|---|---|
| کار میکند | کار میکند | هیچ اتفاقی نمیافتد |
| مرده | کار میکند: پشتیبان ترافیک را حمل میکند | اتصال مجدد نمیشود؛ مسیر اصلی علامت میخورد و دفعهٔ بعد روش انتقال و سرور پشتیبان اول میآیند |
| مرده | مرده | اتصال مجدد |
تلفنها پس از یک قطعی غیرمنتظره (بعد از حدود 2، 5 و 15 ثانیه، سپس خطا نشان داده میشود) و وقتی شبکه برمیگردد هم خودشان دوباره وصل میشوند، اما هرگز پس از اینکه قطع اتصال را بزنید، خارج شوید، یا وقتی طرح یا دستگاه متوقف شده باشد.
علامتهای توقف که نمیتوانند شبکه را قفل کنند
علامتهای توقف نادرست میتوانند شبکه را بدون هیچ گزینهای برای امتحان رها کنند. دو قاعده مانع این میشوند: اگر علامتها حداکثر یک روش انتقال ارائهشده را باقی بگذارند، در آن دور نادیده گرفته میشوند؛ و علامتهایی که در دوری یافت شوند که همهچیز در آن شکست خورده است فقط 10 دقیقه دوام دارند. عمر 6 ساعته فقط وقتی اعمال میشود که روش انتقال دیگری سپس روی همان شبکه ترافیک حمل کرده باشد، یعنی مشکل واقعاً از همان حالت بوده باشد.
اتصال موازی
هنگام اتصال، دو نامزد برتر همزمان بررسی میشوند و اولی که ترافیک حمل کند برنده است، بر پایهٔ ایدهٔ Happy Eyeballs در RFC 8305.
بار سرور
هر سرور گزارش میدهد چند نفر به آن وصلاند، بنابراین سرور پر انتخاب نمیشود و توزیع مبتنی بر بار از اعداد واقعی استفاده میکند. فقط گزارشهای کامل استفاده میشوند؛ اگر گزارشی ناقص باشد، مقدار قبلی نگه داشته میشود.
3ارزیابی
روش
| مورد | جزئیات |
|---|---|
| دستگاه | یک تلفن Android 11 |
| شبکه | یک شبکهٔ Wi-Fi خانگی با بازرسی عمیق بستهٔ فعال (DPI) |
| تاریخها | 9 تا 10 اکتبر 2026 |
| تزریق خطا | در سمت سرور، با حذف فقط بستههای همین کلاینت: یک پروتکل روی همهٔ سرورها، یا یک سرور کامل |
| ایمنی | قوانین برچسبگذاری میشوند و با تایمرهای خودحذفشونده برداشته میشوند؛ به هیچ کاربر دیگری دست زده نمیشود |
| پروب ترافیک | یک درخواست HTTP از طریق تونل هر 5 تا 10 ثانیه |
آزمایشهای روی دستگاه
رتبهبندی. سروری در کشور خود کاربر کمترین پینگ را داشت (13 تا 15 ms) اما درست بعد از یک سرور خارجی نزدیک (16 تا 17 ms) قرار گرفت. در Adaptive Connect 1.x فهرست به ترتیب پایگاه داده میآمد و سروری با حدود 222 ms در قارهای دیگر «پیشنهادی» نشان داده میشد.
انجماد خاموش. روی این شبکه هر روش انتقال TCP به یک سرور نزدیک (VLESS Reality، VLESS XHTTP، Trojan) حدود 30 تا 50 ثانیه پس از اتصال منجمد میشد، در حالی که Hysteria2 به کار خود ادامه میداد. ناظر قدیمی، که فقط Hysteria2 را پوشش میداد، همچنان بدون ترافیک «متصل» نشان میداد. ناظر جدید همهٔ روشهای انتقال انجماد را تشخیص داد و در حدود 1.3 ثانیه روش انتقال را عوض کرد.
| # | پیکربندی | نتیجه |
|---|---|---|
| 1 | همان سرور، پشتیبان Trojan، Hysteria2 قطع شد | پشتیبان در +12 ثانیه ترافیک را حمل کرد؛ سپس ناظر قدیمی اتصال را دوباره راه انداخت و آن را شکست. با قاعدهٔ آگاه از پشتیبان رفع شد |
| 2 | همان سرور، پس از رفع | هیچ مسیر TCP روی آن سرور در این شبکه زنده نماند؛ بازیابی حدود 48 ثانیه پس از پایان مسدودسازی رخ داد، چون در طول آن هیچ مسیر کارکردی وجود نداشت |
| 3 | حالت خودکار، پشتیبان روی سرور بعدی بهعنوان «خانوادهٔ دیگر» (Trojan) | Trojan هم منجمد شد؛ به قاعدهٔ روش انتقال اثباتشده انجامید |
| 4 | حالت خودکار، روش انتقال اثباتشده: Hysteria2 روی سرور A، پشتیبان Hysteria2 روی سرور B، مسیر اصلی 120 ثانیه قطع شد | یک پروب ناموفق در +5 ثانیه، ترافیک از +10 ثانیه تا پایان، بدون اتصال مجدد، VPN روشن ماند. قطعی ≈ 5 تا 10 ثانیه |
آزمون یکساعتهٔ تزریق خطا
در 10 اکتبر 2026، ساختی با همهٔ سازوکارهای 2.0 به مدت 60 دقیقه در حالت خودکار روی همان تلفن و همان شبکه اجرا شد. یک ابزار آزمایشگاه خطای داخلی 11 خطا را روی 8 سرور به ترتیب تصادفی تزریق کرد، با فاصلهٔ 2 تا 5 دقیقه و هرکدام 60 تا 120 ثانیه: یا یک پروتکل روی هر سرور برای این کلاینت قطع میشد، یا یک سرور کاملاً قطع میشد. هر 5 ثانیه یک پروب HTTP از تونل میگذشت. 741 پروب از 750 پروب موفق بود (98.8 %).
| # | خطا | مدت | طولانیترین قطعی | بازگشت ترافیک پس از پایان خطا |
|---|---|---|---|---|
| 1 | قطع VLESS Reality روی همهٔ سرورها | 83 ثانیه | 1 ثانیه | |
| 2 | قطع کامل یک سرور در آلمان | 95 ثانیه | 3 ثانیه | |
| 3 | قطع کامل سرور در حال استفاده (مسیر اصلی) | 101 ثانیه | 5 ثانیه | |
| 4 | قطع Shadowsocks روی همهٔ سرورها | 102 ثانیه | 4 ثانیه | |
| 5 | قطع VLESS Reality روی همهٔ سرورها | 86 ثانیه | 4 ثانیه | |
| 6 | قطع کامل یک سرور در فنلاند | 65 ثانیه | 1 ثانیه | |
| 7 | قطع Shadowsocks روی همهٔ سرورها | 92 ثانیه | 2 ثانیه | |
| 8 | قطع Trojan روی همهٔ سرورها | 65 ثانیه | 1 ثانیه | |
| 9 | قطع کامل یک سرور در استونی | 120 ثانیه | 0 ثانیه | |
| 10 | قطع کامل یک سرور دیگر در فنلاند | 95 ثانیه | 1 ثانیه | |
| 11 | قطع Hysteria2 روی همهٔ سرورها | 61 ثانیه | 2 ثانیه |
- 0 ثانیه · سرور در حال استفاده قطع شد
- توقف حدود 5 ثانیه
- ترافیک از مسیر پشتیبان آماده
- 101 ثانیه · خطا برداشته شد
VPN روشن میماند؛ بدون اتصال مجدد
خواندن نتایج. خطای 3 مورد کلیدی است: سرور در حال استفاده 101 ثانیه ناپدید شد و کاربر حدود 5 ثانیه توقف دید، در حالی که VPN در تمام مدت روشن بود. خطاهای مربوط به پروتکلها و سرورهایی که در حال استفاده نبودند 0 ثانیه نشان میدهند، که مطابق انتظار است: خطا در جای دیگر نشست را مختل نمیکند. در خطای 11 هر پروتکل TCP پیشتر روی این شبکه توسط DPI منجمد شده بود، بنابراین با قطع Hysteria2 در همهجا اصلاً هیچ پروتکل کارکردی وجود نداشت؛ ترافیک 2 ثانیه پس از پایان خطا بازگشت.
4محدودیتها
- ارزیابی محدود. یک دستگاه، یک شبکه، یک ساعت؛ خطاها در سمت سرور تزریق شدند، نه توسط یک فیلتر واقعی. نتایج را نمیتوان به هر شبکهای تعمیم داد. جابهجایی بین Wi-Fi و داده همراه و اندازهگیریهای جداگانه روی دستگاههای iOS و Windows و Linux هنوز در پیش است.
- جریانهای TCP باز. هنگام جابهجایی به مسیر پشتیبان، تماسها پس از یک اختلال کوتاه ادامه مییابند و صفحهها و پیامها خودشان دوباره وصل میشوند، اما دانلود بزرگی که در آن لحظه در جریان است ممکن است از نو شروع شود.
- چرخش خروجی یک پروتکل را روی یک سرور اجباری میکند و مسیر پشتیبان آماده را خاموش میکند؛ روی شبکهٔ اندازهگیریشده این به معنای انجمادهای مکرر بود.
- بدون پشتیبان در مسیرهای چندجهشی (Multihop) یا روی سرورهای تکحالتی.
- کلید شبکهٔ کهنه. تا وقتی VPN روشن است، پنل نمیتواند ببیند درخواست از کدام شبکه میآید؛ برنامه آخرین شبکهای را که یاد گرفته به کار میبرد تا وقتی فهرست با VPN خاموش دوباره دریافت شود.
5کار آینده: لایهٔ نشست CSL
لایهٔ نشست Colitu (CSL) پیشنویس یک لایهٔ نشست است که قرار است روی مسیر پشتیبان آماده ساخته شود؛ هیچ تاریخ یا نتیجهای وعده داده نمیشود. امروز مسیر پشتیبان اتصالهای جدید را جابهجا میکند؛ دانلودهای بازِ حملشده روی TCP ممکن است قطع شوند. با CSL برنامه یک نشست باز میکند که وقتی تونل زیرین عوض میشود هم باقی میماند. در نمونهٔ اولیهٔ آزمایشگاهی طولانیترین توقف 0.08 تا 1.75 ثانیه بود و دانلودها بدون قطع ادامه یافتند. یک نشست CSL به یک سرور گره خورده است، بنابراین CSL مشکلات درون یک سرور (تغییر شبکه، پروتکل مسدود، قطعی کوتاه) را مدیریت میکند و از کار افتادن سرور همچنان با مسیر پشتیبان آماده پوشش داده میشود؛ این دو با هم کار میکنند. بهصورت گزینهٔ اختیاری «نشست بیوقفه (بتا)» در حالت پیشرفته عرضه خواهد شد.
6نتیجهگیری
ترافیک واقعی، نه پینگ، تعیین میکند که یک مسیر کار میکند یا نه، و این پاسخ به شبکه بستگی دارد. رتبهبندی با رعایت نزدیکی و حریم خصوصی، حافظهٔ نگهداشتهشده روی دستگاه، راهنماییهای ناشناس شبکه و بررسیای که فقط مسیر اصلی را میسنجد، مسیر درست را پیدا میکنند؛ مسیر پشتیبان آماده و ناظری که از آن خبر دارد، از دست رفتن یک سرور را به توقفی چندثانیهای تبدیل میکنند.
·منابع
- RFC 8305, Happy Eyeballs Version 2: Better Connectivity Using Concurrency.
- RFC 9000, QUIC: A UDP-Based Multiplexed and Secure Transport.
- RFC 5482, TCP User Timeout Option.
- مستندات پروژهٔ Hysteria2.
- مستندات پروژهٔ Xray-core.
