TSPU Xray VPN
Технические· 9 мин чтения

VLESS и Reality простыми словами — почему они не выключаются

Разбираем, как связка VLESS и Reality маскирует трафик под обычный HTTPS и почему она устойчивее WireGuard и OpenVPN. Без воды, на пальцах.

VLESS и Reality простыми словами — почему они не выключаются

Если вы пробовали разные VPN, то замечали закономерность: один работает месяц, потом начинает отваливаться, вы ставите новый — и история повторяется. Причина почти всегда в протоколе. Разберём, почему связка VLESS + Reality держится дольше остальных: сначала на пальцах, потом — чуть глубже, для тех, кому интересно, как это устроено внутри.

Коротко, если нет времени

  • VLESS — лёгкий протокол, который передаёт ваши данные на сервер. Своего шифрования у него почти нет: всю защиту делает TLS, тот же, что у обычных сайтов с замочком.
  • Reality — надстройка над TLS, которая делает соединение неотличимым от захода на настоящий крупный сайт. Даже если проверяющий подключится к серверу сам, он увидит этот сайт, а не VPN.
  • XTLS Vision — режим, который убирает характерный «двойной» рисунок трафика и заодно ускоряет передачу.
  • Вместе они проходят проверки, на которых OpenVPN и WireGuard отсеиваются сразу. Но не всё: против белых списков по IP-адресам не помогает ни один протокол, об этом ниже.

Что такое протокол и почему это главное

Протокол — это правила, по которым ваше устройство общается с VPN-сервером. У каждого протокола есть характерный «почерк»: последовательность байтов при установке соединения, размеры пакетов, тайминги. Системы фильтрации трафика умеют этот почерк распознавать — и, распознав, ограничивать.

Классические протоколы уязвимы именно здесь:

  • OpenVPN — старый и надёжный, но его сигнатуру знают все системы анализа.
  • WireGuard — быстрый и современный, но у него тоже узнаваемый профиль трафика: фиксированные размеры служебных пакетов и работа поверх UDP.

Как только сеть видит знакомый почерк, соединение начинает рваться или замедляться. Подробнее о том, как устроены такие проверки, мы рассказали в статье как DPI распознаёт VPN.

Как проверяют трафик: четыре уровня

Чтобы понять, почему Reality работает, полезно знать, против чего он работает. Системы глубокого анализа трафика (DPI) проверяют соединения в несколько этапов, от дешёвых к дорогим:

Четыре уровня проверки трафика: сигнатуры, отпечаток TLS, активное зондирование, поведение

  1. Сигнатуры. Первые байты соединения сверяются с базой известных протоколов. Здесь отсеиваются OpenVPN и WireGuard.
  2. Отпечаток TLS. Если соединение похоже на HTTPS, проверяется, какой программой оно создано: настоящим браузером или самописной библиотекой. Отпечатки считают по методикам JA3 и JA4.
  3. Активное зондирование. К подозрительному серверу подключается «разведчик» и смотрит, что тот ответит. Нормальный сайт отвечает как сайт, прокси часто выдаёт себя.
  4. Поведение. Анализируются размеры пакетов, их ритм, длительность и объём сессий.

VLESS + Reality + Vision закрывает первые три уровня почти полностью и заметно усложняет четвёртый. Разберём по частям.

VLESS: транспорт без лишнего

VLESS появился в проекте Xray как облегчённый наследник VMess. Разработчики сделали осознанный выбор: не изобретать собственную криптографию, а положиться на TLS — самый проверенный и самый распространённый протокол шифрования в интернете.

Что это даёт:

  • Меньше накладных расходов. Данные не шифруются дважды, поэтому скорость выше, а телефон меньше греется.
  • Меньше собственного «почерка». Внутри TLS нечему выделяться: заголовок VLESS крошечный и зашифрован вместе с остальным.
  • Простая авторизация. Каждый пользователь опознаётся по UUID — длинному случайному идентификатору, который и есть ваш ключ доступа.

У VLESS нет привязки ко времени на устройстве, как была у VMess, поэтому неточные часы на телефоне не ломают подключение.

Reality: как спрятаться в чужом сайте

Обычный VPN поверх TLS требует своего домена и своего сертификата. У такой схемы две слабости: домен можно заблокировать, а сервер при зондировании может ответить не как настоящий сайт.

Reality решает обе проблемы. Сервер представляется чужим популярным сайтом — например, сайтом Microsoft или Apple — и отвечает от его имени. Покупать домен и выпускать сертификат не нужно.

Схема рукопожатия Reality: клиент, DPI оператора, сервер Reality и сайт-маска

Шаг 1. Приветствие, в котором спрятан пропуск

Ваше приложение отправляет серверу стандартное TLS-приветствие (ClientHello). В нём указано имя сайта-маски (SNI) — например, www.microsoft.com. Для оборудования оператора это обычный заход на Microsoft.

Но внутри приветствия есть секрет. У сервера Reality есть пара ключей, и публичный ключ записан в вашей ссылке-подписке (параметр pbk). Клиент смешивает его со своим одноразовым ключом, получает общий секрет и шифрует им короткую метку shortId, время и версию. Результат кладётся в поле session_id — то самое, которое в обычном TLS заполняется случайными байтами. Снаружи оно и выглядит случайным.

Шаг 2. Сервер проверяет пропуск

Сервер пробует расшифровать session_id своим приватным ключом. Параллельно он обращается к настоящему сайту-маске и берёт его ответ, чтобы длины и тайминги рукопожатия совпадали с оригиналом.

  • Пропуск верный — сервер выдаёт клиенту временный сертификат, подписанный ключом, который знают только эти двое. В TLS 1.3 сертификат передаётся уже в зашифрованном виде, поэтому снаружи подмену не видно. Туннель открыт.
  • Пропуска нет — сервер ничего не выдумывает. Он просто пропускает соединение насквозь к настоящему сайту, как обычный переадресатор портов.

Шаг 3. Что увидит проверяющий

Вот ключевой момент. Если оборудование оператора или любой исследователь подключится к серверу сам, у него нет ключа, и сервер отдаст его настоящему сайту. Проверяющий получит настоящий сертификат Microsoft с настоящей цепочкой доверия и настоящую страницу. Зондирование не находит ничего подозрительного, потому что подозрительного для него действительно нет.

Есть распространённое заблуждение, что Reality «ворует сертификат» сайта-маски. Это не так: ваш клиент в нормальной работе вообще не получает сертификат маски, а проверяющий получает его честно от самого сайта.

Защита от подмены

Бонус схемы: клиент Reality отличает три ситуации — временный сертификат своего сервера, настоящий сертификат сайта-маски и чужой сертификат. В первом случае всё работает. Во втором клиент понимает, что его перенаправили на настоящий сайт, и ведёт себя как обычный браузер, открывая страницы сайта. В третьем, если кто-то пытается встать посередине, соединение обрывается. Поэтому атака с поддельным сертификатом против Reality не срабатывает.

Отпечаток браузера: зачем нужен параметр fp

Даже идеальное рукопожатие выдаст себя, если приветствие собрано «не так, как у браузера»: другой порядок расширений, другой набор шифров. Такие детали и складываются в отпечаток JA3/JA4.

Поэтому клиенты Xray используют библиотеку uTLS, которая собирает ClientHello байт в байт как у настоящего Chrome, Firefox или Safari. В ссылке это параметр fp=chrome. Для сети ваше соединение выглядит как открытие сайта в Chrome.

XTLS Vision: проблема «TLS внутри TLS»

Остаётся тонкая проблема. Когда вы открываете через VPN обычный сайт по HTTPS, внутри туннеля происходит ещё одно TLS-рукопожатие — уже с этим сайтом. Туннель зашифрован, но размеры пакетов этого внутреннего рукопожатия характерные, и по ним можно заподозрить «TLS внутри TLS», то есть прокси.

Режим XTLS Vision (в ссылке — flow=xtls-rprx-vision) делает две вещи:

  1. Добавляет случайное заполнение к пакетам внутреннего рукопожатия, чтобы их размеры не складывались в узнаваемый рисунок.
  2. Не шифрует повторно то, что уже зашифровано. Когда внутреннее соединение само идёт по TLS 1.3, Vision после рукопожатия передаёт его данные как есть, без второго слоя. На Linux-серверах ядро пересылает такие данные напрямую, минуя программу. Отсюда заметный прирост скорости и меньшая нагрузка на батарею.

Как выбирают сайт-маску

Качество маскировки сильно зависит от того, под какой сайт маскируется сервер. Разработчики Reality рекомендуют выбирать сайты, которые:

  • поддерживают TLS 1.3 и HTTP/2;
  • не делают переадресацию с главного домена (например, с example.com на www.example.com);
  • расположены близко к серверу по сети — так задержки выглядят естественно;
  • бонусом шифруют всё рукопожатие после ServerHello и поддерживают OCSP Stapling.

Поэтому в настройках часто видны крупные международные домены. Выбор маски — работа сервиса, а не пользователя: в готовой ссылке-подписке всё уже подобрано.

Чего Reality не умеет

Честный раздел, которого нет в большинстве статей.

  • Не проходит белые списки по IP. В режиме белых списков сеть пропускает трафик только к разрешённым адресам. Если адрес сервера не в перечне, соединение отбрасывается ещё до того, как дело дойдёт до маскировки. Здесь нужен другой подход — подробности в статье обход белых списков.
  • Не спасает от анализа поведения полностью. Долгая сессия с большим объёмом данных к одному адресу — нетипичное поведение для «обычного сайта». В 2025 году появились исследования, посвящённые распознаванию Reality именно по поведенческим признакам.
  • Не работает поверх QUIC. Reality использует поле session_id, которого в QUIC фактически нет. Поэтому Reality работает только по TCP.

Для поведенческого уровня в Xray развивается транспорт XHTTP: он разбивает поток на обычные HTTP-запросы и лучше мимикрирует под веб-трафик. Reality и XHTTP не конкурируют, а работают на разных уровнях и отлично сочетаются. Об этом — в отдельной статье что такое XHTTP.

VLESS + Reality против других протоколов

OpenVPN WireGuard Shadowsocks VLESS + Reality
Узнаётся по сигнатуре да да частично нет
Выглядит как HTTPS нет нет нет да
Проходит зондирование нет нет частично да
Нужен свой домен нет нет нет нет
Скорость средняя высокая высокая высокая

Сравнение всех популярных протоколов с плюсами и минусами — в статье протоколы VPN: сравнение.

Что это значит на практике

Вам не нужно разбираться в деталях протоколов, чтобы получить результат. Достаточно понимать: сервис на VLESS/Reality сохраняет стабильный доступ там, где обычные протоколы уже не тянут. Именно на этой связке построен TSPU Xray VPN — с готовой ссылкой-подпиской на 14 узлов, без необходимости поднимать свой сервер.

Разобраться, что написано в самой ссылке vless://, поможет статья VLESS-ссылка: что значит каждый параметр.

Частые вопросы

VLESS и Reality — это одно и то же? Нет. VLESS — протокол передачи данных, Reality — способ маскировки TLS-соединения. Их используют вместе, но VLESS может работать и с обычным TLS, а Reality — с другими транспортами.

Можно ли расшифровать трафик VLESS + Reality? Нет. Шифрование обеспечивает TLS 1.3 с современными алгоритмами обмена ключами. Провайдер видит только, что вы подключаетесь к «сайту-маске», и объём трафика.

Почему в ссылке указан чужой сайт, например microsoft.com? Это сайт-маска. Ваш трафик идёт на VPN-сервер, а имя сайта нужно, чтобы соединение выглядело как заход на него.

Работает ли Reality на iPhone и Android? Да. Протокол поддерживают Happ, v2RayTun, Hiddify и наше приложение TSPU Xray VPN.

Почему VLESS работает по Wi-Fi, но не работает на мобильном интернете? Чаще всего на мобильной сети включены белые списки: адрес сервера не входит в разрешённый перечень, и маскировка уже не помогает. Для таких случаев в нашем приложении есть отдельный сервер «Обход белых списков».

Попробовать

Если хотите проще — есть страница про VLESS Reality с ключом, а подключение занимает пару минут через любой клиент: Happ, v2RayTun или Hiddify. Новым пользователям — 3 дня бесплатно.

Нужен VPN, который просто работает?

Reality-протокол, 14 узлов, без логов. 3 дня бесплатно, оплата в рублях.