Если вы пробовали разные VPN, то замечали закономерность: один работает месяц, потом начинает отваливаться, вы ставите новый — и история повторяется. Причина почти всегда в протоколе. Разберём, почему связка VLESS + Reality держится дольше остальных: сначала на пальцах, потом — чуть глубже, для тех, кому интересно, как это устроено внутри.
Коротко, если нет времени
- VLESS — лёгкий протокол, который передаёт ваши данные на сервер. Своего шифрования у него почти нет: всю защиту делает TLS, тот же, что у обычных сайтов с замочком.
- Reality — надстройка над TLS, которая делает соединение неотличимым от захода на настоящий крупный сайт. Даже если проверяющий подключится к серверу сам, он увидит этот сайт, а не VPN.
- XTLS Vision — режим, который убирает характерный «двойной» рисунок трафика и заодно ускоряет передачу.
- Вместе они проходят проверки, на которых OpenVPN и WireGuard отсеиваются сразу. Но не всё: против белых списков по IP-адресам не помогает ни один протокол, об этом ниже.
Что такое протокол и почему это главное
Протокол — это правила, по которым ваше устройство общается с VPN-сервером. У каждого протокола есть характерный «почерк»: последовательность байтов при установке соединения, размеры пакетов, тайминги. Системы фильтрации трафика умеют этот почерк распознавать — и, распознав, ограничивать.
Классические протоколы уязвимы именно здесь:
- OpenVPN — старый и надёжный, но его сигнатуру знают все системы анализа.
- WireGuard — быстрый и современный, но у него тоже узнаваемый профиль трафика: фиксированные размеры служебных пакетов и работа поверх UDP.
Как только сеть видит знакомый почерк, соединение начинает рваться или замедляться. Подробнее о том, как устроены такие проверки, мы рассказали в статье как DPI распознаёт VPN.
Как проверяют трафик: четыре уровня
Чтобы понять, почему Reality работает, полезно знать, против чего он работает. Системы глубокого анализа трафика (DPI) проверяют соединения в несколько этапов, от дешёвых к дорогим:
- Сигнатуры. Первые байты соединения сверяются с базой известных протоколов. Здесь отсеиваются OpenVPN и WireGuard.
- Отпечаток TLS. Если соединение похоже на HTTPS, проверяется, какой программой оно создано: настоящим браузером или самописной библиотекой. Отпечатки считают по методикам JA3 и JA4.
- Активное зондирование. К подозрительному серверу подключается «разведчик» и смотрит, что тот ответит. Нормальный сайт отвечает как сайт, прокси часто выдаёт себя.
- Поведение. Анализируются размеры пакетов, их ритм, длительность и объём сессий.
VLESS + Reality + Vision закрывает первые три уровня почти полностью и заметно усложняет четвёртый. Разберём по частям.
VLESS: транспорт без лишнего
VLESS появился в проекте Xray как облегчённый наследник VMess. Разработчики сделали осознанный выбор: не изобретать собственную криптографию, а положиться на TLS — самый проверенный и самый распространённый протокол шифрования в интернете.
Что это даёт:
- Меньше накладных расходов. Данные не шифруются дважды, поэтому скорость выше, а телефон меньше греется.
- Меньше собственного «почерка». Внутри TLS нечему выделяться: заголовок VLESS крошечный и зашифрован вместе с остальным.
- Простая авторизация. Каждый пользователь опознаётся по UUID — длинному случайному идентификатору, который и есть ваш ключ доступа.
У VLESS нет привязки ко времени на устройстве, как была у VMess, поэтому неточные часы на телефоне не ломают подключение.
Reality: как спрятаться в чужом сайте
Обычный VPN поверх TLS требует своего домена и своего сертификата. У такой схемы две слабости: домен можно заблокировать, а сервер при зондировании может ответить не как настоящий сайт.
Reality решает обе проблемы. Сервер представляется чужим популярным сайтом — например, сайтом Microsoft или Apple — и отвечает от его имени. Покупать домен и выпускать сертификат не нужно.
Шаг 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) делает две вещи:
- Добавляет случайное заполнение к пакетам внутреннего рукопожатия, чтобы их размеры не складывались в узнаваемый рисунок.
- Не шифрует повторно то, что уже зашифровано. Когда внутреннее соединение само идёт по 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 дня бесплатно.
