بررسیهای فنی
VLESS چیست و چرا یک پیکربندی در برخی شبکهها کار نمیکند؟

فهرست مطالب
پروتکل VLESS راهی است که برنامه با آن به سرور میگوید چه کسی وصل میشود و ترافیک به کجا باید برود. در پیکربندی معمول، خود VLESS چیزی را رمزگذاری نمیکند و این کار را TLS یا REALITY انجام میدهد. قابلیت اختیاری VLESS Encryption در سال 2025 برای موارد خاص اضافه شد. در ادامه بررسی میکنیم که آیا VLESS یک VPN است، ارائهدهنده اینترنت همچنان چه چیزی را میبیند و چرا همان پیکربندی در یک شبکه کار میکند و در شبکه دیگر نه.
آیا VLESS یک VPN است؟
پروتکل VLESS را اغلب در ردیف پروتکلهای VPN میگذارند، اما از نظر طراحی به پروکسی نزدیکتر است. برنامه از سرور میخواهد به آدرس و پورت مشخصی وصلش کند. سرور خودش این اتصال را برقرار میکند و داده را در هر دو جهت منتقل میکند. تفاوت این دو را در مقاله VPN یا پروکسی توضیح دادهایم.
بخش VPN را برنامه فراهم میکند. برنامههایی مثل Bebra یک VPN سیستمی روی دستگاه راه میاندازند، همه ترافیک را از آن عبور میدهند و هر اتصال را از طریق VLESS یا پروتکلی مشابه به سرور میفرستند. برای شما مثل هر VPN دیگری کار میکند. خود VLESS فقط مطمئن میشود سرور بداند به چه کسی خدمت میدهد و بعد به کجا برود.
از برنامه تا سایت
اتصال VLESS چهار ایستگاه دارد.
- برنامه. یک سرآیند کوتاه VLESS، شامل شناسه کاربری شما (یک UUID)، آدرس مقصد و پورت، جلوی دادههایتان قرار میدهد.
- لایه بیرونی. سرآیند و داده درون TLS یا REALITY به سرور میروند. از بیرون مثل بازدید از یک سایت روی HTTPS به نظر میرسد.
- سرور. لایه بیرونی را باز میکند و UUID را بررسی میکند. اگر شناسه ناشناخته باشد، اتصال همانجا متوقف میشود. اگر شناختهشده باشد، سرور به آدرسی که در سرآیند آمده وصل میشود.
- سایت. درخواستی از سرور میگیرد و به آن پاسخ میدهد و پاسخ از همان راه به شما برمیگردد.
در این مسیر VLESS فقط یک کار دارد: به سرور بگوید شما کیستید و به کجا میروید. بقیه کارها، از رمزگذاری تا اینکه اتصال از بیرون چه شکلی دارد، با لایه بیرونی است. برای همین «اتصال VLESS» تقریباً همیشه به معنای جفتی مانند VLESS + REALITY است.
رمزگذاری را چه کسی انجام میدهد
در تنظیمات Xray، پروتکل VLESS یک فیلد اجباری برای رمزگذاری دارد و در پیکربندی معمول مقدار آن none است. محافظت از دادهها با لایه بیرونی، یعنی TLS یا REALITY، است.
همین ویژگی VLESS را از VMess، پروتکل قدیمیتر همان پروژه V2Ray، متمایز میکند. پروتکل VMess رمزگذاری را خودش و با AES-128-GCM یا ChaCha20-Poly1305 انجام میدهد و به ساعت دقیق روی دستگاه نیاز دارد. VLESS در سال 2020 در V2Ray بهعنوان جایگزینی سادهتر آمد که به ساعت دستگاه وابسته نیست.
حالا VLESS رمزگذاری خودش را هم دارد. قابلیت VLESS Encryption در سال 2025 برای پیکربندیهای خاص به Xray اضافه شد. در ترکیب معمول با TLS یا REALITY، فیلد رمزگذاری همچنان none است.
ارائهدهنده اینترنت چه چیزی را میبیند
ارائهدهنده اینترنت و کسی که Wi-Fi را اداره میکند سرآیند VLESS را نمیبینند، چون درون کانال رمزگذاریشده است. نمیبینند کدام سایت را باز میکنید یا در صفحه چه هست. در مقاله VPN چیست یک درخواست را دنبال کردهایم تا نشان دهیم این وضع چه شکلی دارد. با این حال، چند چیز از بیرون دیده میشود.
- آدرس سرور. آدرس IP که دستگاهتان به آن وصل میشود همیشه دیده میشود.
- نام در دستدهی. نخستین پیام TLS بدون رمزگذاری فرستاده میشود و معمولاً نام یک سایت (SNI) را در خود دارد. با TLS ساده، این نام دامنه خود سرور است. با REALITY، نام سایت واقعی شخص ثالثی است که سرور خودش را جای آن جا میزند.
- اندازه و زمانبندی بستهها. محتوا رمزگذاریشده است، اما اینکه چند بایت و به چه ترتیبی رد و بدل میشود، نه.
پروتکل REALITY دو محافظت دیگر هم اضافه میکند. کلاینت دستدهی را همانطور آغاز میکند که یک مرورگر رایج و تنظیمات REALITY این اثر انگشت را اجباری میکنند. اگر هم کسی برای سر درآوردن از سرور به آن وصل شود، سرور آن اتصال را به سایت واقعی میسپارد و بازدیدکننده پاسخ همان سایت را میگیرد. فقط کلاینتهایی که کلید را میدانند به VLESS میرسند.
چرا در یک شبکه کار میکند و در دیگری نه
فیلترها از یک ارائهدهنده اینترنت به ارائهدهنده دیگر فرق میکنند و دنبال همان ردهایی میگردند که بالاتر آمد. یک ارائهدهنده آدرسهای سرور را از روی یک فهرست مسدود میکند و آن وقت فقط آدرس تازه کمک میکند. دیگری دستدهیها را بررسی میکند و سومی دنبال الگو در اندازه بستههاست. برای همین پیکربندیای که در خانه وصل میشود ممکن است روی اینترنت همراه یا Wi-Fi هتل کار نکند.
یکی از گویاترین ردها دستدهی درون دستدهی است. وقتی یک سایت HTTPS را از طریق VLESS باز میکنید، TLS خود سایت درون TLS بیرونی اجرا میشود و نخستین بستههایش کوتاه و با طولهای قابلتشخیصاند. نویسندگان مقاله «Fingerprinting Obfuscated Proxy Traffic with Encapsulated TLS Handshakes» که در USENIX Security 2024 ارائه شد، دقیقاً به دنبال همین رد در شبکه یک ارائهدهنده اینترنت با حدود یک میلیون کاربر گشتند. آنها ترافیک پروکسی پنهانشده را شناسایی کردند و تقریباً به ترافیک معمولی دست نزدند. مقاله همچنین نشان داد که پر کردن تصادفی بستهها با داده اضافه یا چندگانهسازی (multiplexing) بهتنهایی این رد را پنهان نمیکند، چون هیچکدام اندازه دستههای پیاپی ترافیک یا تعداد رفتوبرگشتها را تغییر نمیدهد.
پاسخ Xray به این رد، XTLS Vision است. این روش بستههای کوتاه دستدهی درونی را با داده اضافه پر میکند تا طولشان آن را لو ندهد و پس از پایان دستدهی، داده را بیتغییر عبور میدهد. نویسندگانش میپذیرند که Vision زمانبندی دستدهی را پنهان نمیکند.
کاری که Bebra انجام میدهد
در Bebra، ترکیب VLESS + REALITY یکی از روشهای اتصال در کنار XHTTP، Hysteria2 و Shadowsocks است. این روشها در شبکه شکل متفاوتی دارند، پس فیلتری که جلوی یکی را میگیرد ممکن است دیگری را نبیند. برنامه تصمیم میگیرد از کدام پروتکل و چه مسیری استفاده کند و اگر مسیری از کار بیفتد، به مسیر دیگری میرود. در مقاله پروتکلهای VPN توضیح دادهایم این چهار چه تفاوتی با هم دارند.
لازم نیست چیزی را تنظیم کنید. برنامه گزینهای برای انتخاب پروتکل ندارد، خودش برای دستگاهتان حساب میسازد و با زدن روی کاشی هر کشور به آن وصل میشوید. اگر کشوری باز هم وصل نشد، به «حساب کاربری» ← «تنظیمات» بروید و روی «یافتن سرور کارآمد» بزنید. برنامه مسیرها را دوباره آزمایش میکند و آدرسهای تازه سرور میگیرد؛ این کار تا دو دقیقه طول میکشد. وقتی ارائهدهنده اینترنت آدرس قبلی را مسدود کرده باشد، دقیقاً همین آدرس تازه کمک میکند.
برای امتحان Bebra، با دوره آزمایشی به قیمت 10 ₽ شروع کنید. 3 روز دسترسی کامل، سپس 500 ₽ در ماه. اشتراک به طور خودکار تمدید میشود.
پرسشها و پاسخها
چرا VLESS را پروتکلی بدون رمزگذاری مینامند؟
چون در پیکربندی معمول خودش چیزی را رمزگذاری نمیکند. فیلد رمزگذاری آن none است و رمزگذاری را TLS یا REALITY انجام میدهد. قابلیت اختیاری VLESS Encryption در سال 2025 برای موارد خاص اضافه شد.
آیا میتوانم در Bebra خودم VLESS را انتخاب کنم؟
نه، برنامه گزینهای برای انتخاب پروتکل ندارد. Bebra خودش تصمیم میگیرد از طریق VLESS + REALITY، XHTTP، Hysteria2 یا Shadowsocks وصل شود و اگر مسیر فعلی از کار بیفتد، به مسیر دیگری میرود.
تفاوت VLESS با Shadowsocks چیست؟
پروتکل Shadowsocks داده را خودش رمزگذاری میکند، با کلیدی که کلاینت و سرور هر دو از قبل میدانند. جریانش با یک salt تصادفی شروع میشود و پس از آن تکههای رمزگذاریشده میآیند و هیچ TLS دور آن نیست. VLESS خودش رمزگذاری نمیکند و درون TLS یا REALITY حرکت میکند، پس از بیرون مثل بازدید از یک سایت روی HTTPS به نظر میرسد.
آیا ارائهدهنده اینترنت میبیند با VLESS چه سایتهایی را باز میکنم؟
نه. آدرس سایت در سرآیند VLESS و درون کانال رمزگذاریشده است. ارائهدهنده اینترنت آدرس سرور، نام موجود در دستدهی TLS و اندازه بستهها را میبیند.
اگر کسی سرور REALITY را وارسی کند، چه پاسخی میگیرد؟
پاسخی از همان سایت واقعی که سرور خودش را جای آن جا میزند. REALITY اتصالهای بدون کلید درست را به آن سایت میسپارد و فقط کلاینتهای خودش را به VLESS راه میدهد.
کار XTLS Vision چیست؟
بستههای کوتاه دستدهیای را که درون کانال رمزگذاریشده اجرا میشود با داده اضافه پر میکند تا طولشان آن دستدهی را لو ندهد. پس از آن، Vision فقط داده را عبور میدهد. به گفته نویسندگانش، زمانبندی دستدهی را پنهان نمیکند.



