ریالیتی چیست؟ VLESS Reality به زبان ساده
ریالیتی (REALITY) روشی برای ساختن اتصال VPN است که در آن ترافیک بین دستگاه تو و سرور طوری طراحی شده که شبیه یک بازدید معمولی HTTPS از یک وبسایت واقعی به نظر برسد. VLESS داده را حمل میکند و REALITY رمزگذاری و «استتار» را فراهم میکند.
VLESS و Xray-core
VLESS یک پروتکل سبک و بدونحالت (stateless) است که در Xray-core استفاده میشود و کاربران را با یک شناسه (UUID) میشناسد. در تنظیم رایجی که GLink هم از آن استفاده میکند، خود VLESS داده را رمزگذاری نمیکند (تنظیم رمزگذاری آن «none» است) و داخل یک لایهی امنیتی بیرونی مثل TLS یا REALITY اجرا میشود. برخلاف پروتکل قدیمیتر VMess، خود VLESS به ساعت دستگاه وابسته نیست.
در کانالهای تلگرام، کانفیگهای عمومی VMess و Trojan هم زیاد دستبهدست میشوند و خیلی از کاربران ایرانی با آنها آشنا هستند. فرق فنیشان با VLESS Reality همینجاست: VMess برخلاف VLESS به ساعت دستگاه وابسته است، و Trojan رمزگذاری را به یک TLS معمولی میسپارد که سرورش باید گواهی معتبر روی دامنهی خودش داشته باشد — در حالی که REALITY اصلاً به دامنه و گواهی جدا نیاز ندارد.
ریالیتی چطور کار میکند
- سرور بهجای دامنه و گواهی خودش، به یک وبسایت واقعیِ شخص ثالث («هدف») اشاره میکند.
- کلاینت با کلید عمومی سرور (که نقش رمز عبور را دارد) و یک شناسهی کوتاه احراز هویت میشود. اتصالهایی که این بررسی را پاس نکنند به همان وبسایت هدف هدایت میشوند؛ یعنی یک کاوش بدون کلید هم به همان وبسایت واقعی میرسد.
- از دید یک ناظر بیرونی، دستدهی (handshake) یک TLS 1.3 واقعی است که نام همان وبسایت هدف را حمل میکند، و رمزگذاری forward secrecy را حفظ میکند.
- با جریان Vision (xtls-rprx-vision)، VLESS در حین دستدهی به ترافیکی که حمل میکند padding تصادفی اضافه میکند تا الگوی طول بستهی معمولِ «TLS داخل TLS» کمرنگتر شود.
XHTTP
XHTTP (قبلاً SplitHTTP) یک لایهی انتقال است که اتصال را داخل درخواستهای معمولی HTTP حمل میکند. بسته به حالت، داده در مسیر رفت یا در چند درخواست جدا (packet-up) یا در یک درخواست جریانی (stream-up، stream-one) ارسال میشود و در مسیر برگشت بهصورت جریانی برمیگردد. میتواند روی HTTP/1.1، HTTP/2 یا HTTP/3 اجرا شود و با REALITY ترکیب شود؛ در تنظیمهای دیگر پشت CDN هم کار میکند. حالتهای مختلف سازگاری را با کارایی معاوضه میکنند؛ packet-up سازگارترین حالت است.
Trojan
Trojan پروتکلی قدیمیتر است: کلاینت داخل یک اتصال معمولی TLS با یک رمز عبور احراز هویت میشود، و اتصالهایی که کلاینت معتبری نباشند معمولاً به یک وبسرور عادی هدایت میشوند. وقتی روی TLS معمولی اجرا شود — مثل نحوهی استفادهی GLink — سرور باید یک گواهی TLS معتبر داشته باشد، معمولاً روی دامنهی خودش.
WireGuard و OpenVPN
WireGuard و OpenVPN پروتکلهای VPN همهمنظورهاند و اصلاً برای استتار طراحی نشدهاند. مستندات WireGuard صراحتاً میگوید تمرکزش روی پنهانسازی نیست، و یک پژوهش روی یک ISP با حدود یک میلیون کاربر نشان داد بیشتر ترافیک OpenVPN را میشود از روی الگوی بایتها، اندازهی بستهها و پاسخهای سرور شناسایی کرد. پروتکلهایی مثل VLESS Reality برعکس، طوری طراحی شدهاند که شبیه HTTPS معمولی به نظر برسند.
محدودیتهای واقعی
- هیچ پروتکل نامرئیای وجود ندارد. سانسورگرها ترافیک را بررسی میکنند و خودشان را وفق میدهند؛ روشی که امروز جواب میدهد ممکن است فردا شناسایی شود.
- وقتی شبکهای فقط اجازهی دسترسی به فهرست محدودی از سرویسها را میدهد، یا دسترسی به اینترنت بهطور کامل قطع شود، هیچ پروتکل VPNی کار نمیکند.
- شبیه HTTPS بودن به شکل ترافیک مربوط است، نه به سرعت اتصال.
اشتراک GLink از چه چیزی ساخته شده
اشتراک GLink از این پروتکلها ساخته میشود: VLESS Reality — روی TCP با جریان Vision، یا روی XHTTP بدون آن، بسته به تنظیم سرور همان لوکیشن — و در تعرفههایی که شامل آن میشوند، Trojan روی TLS، هرجا سرور آن لوکیشن پشتیبانی کند. چیزی که واقعاً میگیری به تعرفهات و لوکیشنهای فعالش بستگی دارد.
لینک ساب چیست و چه چیزی برمیگرداند →
آیا VLESS Reality همان VPN است؟
یکی از پروتکلهایی است که یک اپلیکیشن VPN میتواند از آن استفاده کند. اپلیکیشنهایی مثل INCY، Happ، Hiddify، v2rayNG یا Streisand وقتی لینک اشتراک را اضافه میکنی با همین پروتکل وصل میشوند.
آیا REALITY به دامنهی مخصوص خودش نیاز دارد؟
نه. سرور به یک وبسایت موجود اشاره میکند و نیازی به دامنه یا گواهی جدا ندارد — این یکی از ایدههای اصلی REALITY است.
آیا XHTTP از TCP سریعتر است؟
نه لزوماً. XHTTP دربارهی نحوهی حرکت ترافیک است (روی درخواستهای HTTP، احتمالاً از پشت CDN)؛ سرعت به شبکه و حالت انتخابی بستگی دارد.
منابع
- Xray-core: مستندات VLESS
- XTLS/REALITY (مخزن گیتهاب)
- Xray-core: مستندات REALITY
- XHTTP: فراتر از REALITY (گفتگوی Xray-core)
- Xray-core: مستندات Trojan
- پروتکل Trojan
- WireGuard: محدودیتهای شناختهشده
- آسیبپذیری OpenVPN در برابر اثرانگشتگیری (USENIX Security 2022)
- دیوار آتش بزرگ چین چطور ترافیک کاملاً رمزنگاریشده را شناسایی و مسدود میکند (USENIX Security 2023)