VLESS Reality в 2026: что это, как он устроен и почему работает при блокировках
VLESS Reality появился как ответ на конкретную проблему: системы фильтрации научились узнавать VPN по первым пакетам соединения и по тому, как сервер отвечает на проверочные запросы. Reality убирает оба признака. Ниже по шагам разобрано, из чего состоит связка, что происходит при рукопожатии и где её возможности заканчиваются.
Как DPI распознаёт VPN и прокси
Оборудование глубокого анализа пакетов, в России это ТСПУ у операторов, использует несколько независимых методов.
- Сигнатуры. У многих протоколов есть узнаваемые байты или размеры первых пакетов. WireGuard начинает рукопожатие сообщением фиксированной длины с типом в заголовке, OpenVPN — служебными кодами операций.
- Отпечаток TLS. Первое сообщение TLS, ClientHello, у каждой программы своё: набор шифров, порядок расширений, параметры. Клиент на стандартной библиотеке Go выглядит иначе, чем Chrome, и это видно без расшифровки.
- Активное зондирование. Заподозрив сервер, фильтр сам подключается к нему и смотрит на ответ. Обычный сайт вернёт страницу, прокси — ошибку или тишину.
- Статистика. Длительность сессий, объём трафика к одному адресу, соотношение входящего и исходящего потока.
- Адрес. Самый грубый метод: IP сервера просто вносится в список блокировки.
Устойчивый протокол должен закрывать первые три пункта. Последние два зависят уже не от протокола, а от инфраструктуры.
VLESS: лёгкий протокол без собственного шифрования
VLESS разработан в проекте V2Ray и развивается в Xray. Его заголовок минимален: версия, идентификатор пользователя UUID, дополнительные параметры, команда, порт и адрес назначения. Сервер проверяет UUID и открывает соединение туда, куда просит клиент.
Собственного шифрования в классическом VLESS нет. Это сделано намеренно: защита возлагается на транспортный слой, обычно TLS. В сентябре 2025 года в Xray-core появилось необязательное встроенное шифрование VLESS Encryption, но в типичной связке с Reality конфиденциальность обеспечивает именно TLS-слой.
Отсутствие лишнего шифрования даёт две вещи. Во-первых, меньше вычислений на устройстве и сервере. Во-вторых, нет собственного узнаваемого рисунка: VLESS полностью прячется внутри того транспорта, поверх которого работает.
Транспорт при этом выбирается отдельно. VLESS умеет ходить по голому TCP, через WebSocket, gRPC или XHTTP, а поверх транспорта задаётся слой безопасности: без шифрования, обычный TLS или Reality. Отсюда множество вариантов в настройках клиентов, которые на деле отличаются только упаковкой. Для Reality классический выбор — прямое TCP-соединение, на нём лучше всего работает описанный ниже режим Vision.
Почему обычного TLS уже недостаточно
Схема «VLESS поверх TLS с собственным доменом и сертификатом» долго считалась надёжной, но у неё накопились слабости.
Первая — домен. Его нужно зарегистрировать, привязать к IP сервера и получить сертификат. Малоизвестный домен на адресе дешёвого хостинга сам по себе подозрителен, а после блокировки придётся заводить новый.
Вторая — отпечаток. Если клиент не подделывает ClientHello под браузер, его видно по набору расширений.
Третья — проблема TLS внутри TLS. Когда пользователь открывает HTTPS-сайт через такой прокси, внутри внешнего TLS происходит ещё одно рукопожатие. Размеры и последовательность пакетов этого вложенного рукопожатия образуют характерный рисунок, который описан в исследованиях и используется для обнаружения.
Reality: заимствованный TLS-сервер и чужой отпечаток
Reality решает проблему домена радикально: собственный домен не нужен вовсе. В настройках сервера указывается настоящий сторонний сайт, поддерживающий TLS 1.3, например крупный зарубежный ресурс. Его имя клиент ставит в поле SNI, а ClientHello формирует через библиотеку uTLS с отпечатком обычного браузера.
Для наблюдателя это соединение с популярным сайтом, которое начал браузер. Проверить сертификат по пути нельзя: в TLS 1.3 он передаётся уже в зашифрованном виде.
К сайту-донору есть требования. Он должен поддерживать TLS 1.3 и HTTP/2, отвечать без перенаправления на другой домен и, желательно, физически находиться недалеко от VPN-сервера, чтобы задержки выглядели правдоподобно. Сайт, заблокированный в России, для этой роли не годится: соединение с ним вызовет подозрение само по себе.
Опознание «своих» происходит внутри стандартных полей ClientHello. Клиент знает публичный ключ сервера и использует обмен ключами x25519, который и так есть в TLS 1.3. Из этого обмена выводится общий секрет, и им шифруется короткая метка, спрятанная в поле session_id. Посторонний видит в этом поле случайные байты, как и у любого браузера.
Как проходит рукопожатие Reality шаг за шагом
- Клиент формирует ClientHello с отпечатком браузера и SNI выбранного сайта.
- В расширение key_share он кладёт свой временный ключ x25519 и вычисляет общий секрет с публичным ключом сервера из настроек.
- Этим секретом клиент шифрует метку: короткий идентификатор shortId, текущее время и версию, и помещает её в поле session_id.
- Сервер получает ClientHello, вычисляет тот же секрет своим приватным ключом и пытается расшифровать метку.
- Если метка верна, а при включённой проверке времени часы клиента укладываются в допустимое расхождение, сервер сам завершает рукопожатие. Он выдаёт временный сертификат, подлинность которого клиент проверяет общим секретом, а не через удостоверяющий центр.
- Если метки нет или она неверна, сервер прозрачно пересылает соединение на настоящий сайт, указанный в его настройках.
- Внутри установленного TLS-канала идёт обычный VLESS: UUID, адрес назначения и данные пользователя.
Из пятого шага следует практический вывод: если на сервере ограничено допустимое расхождение времени, при сбитых часах сервер не признает клиента и отправит его к чужому сайту. По умолчанию такая проверка выключена (параметр maxTimeDiff равен нулю), но владелец сервера может её включить, поэтому часы на устройстве лучше держать точными.
Защита от активного зондирования
Шестой шаг — главная идея Reality. Если фильтр подключится к серверу сам, он получит настоящий сертификат и настоящие страницы того сайта, чьё имя стоит в SNI. Ответ ничем не отличается от ответа самого сайта, потому что это и есть его ответ, просто пересланный.
У Trojan похожая логика реализована через запасной веб-сервер: при неверном пароле открывается заглушка. Но заглушку нужно держать на своём домене с собственным сертификатом. Reality обходится без этого и показывает проверяющему реальный ресурс.
XTLS Vision и маскировка паттернов трафика
Рукопожатие решает вопрос входа, но остаётся проблема TLS внутри TLS. Для неё в Xray есть режим потока xtls-rprx-vision, коротко Vision.
Vision распознаёт вложенное TLS-рукопожатие и добавляет к первым пакетам случайное заполнение. Размеры перестают складываться в узнаваемую последовательность. Когда внутреннее TLS-соединение установлено и пошли зашифрованные данные, Vision перестаёт шифровать их повторно и передаёт как есть. Снаружи это по-прежнему выглядит как один TLS-поток, а процессор устройства не тратит силы на двойную работу.
Поэтому в конфигурациях VLESS Reality почти всегда стоит параметр flow со значением xtls-rprx-vision.
VLESS Reality против WireGuard, OpenVPN, Shadowsocks и Trojan
| Протокол | Транспорт | Как выглядит для DPI | Активное зондирование | Нужен свой домен | Главная уязвимость |
|---|---|---|---|---|---|
| VLESS + Reality | TCP | TLS 1.3 к реальному сайту, браузерный отпечаток | Отдаёт настоящий сайт | Нет | Блокировка IP, несоответствие SNI и адреса |
| WireGuard | UDP | Узнаваемое рукопожатие фиксированного размера | Не отвечает чужим | Нет | Сигнатура |
| AmneziaWG | UDP | WireGuard с мусорными пакетами и изменёнными заголовками | Не отвечает чужим | Нет | Фильтрация UDP, блокировка IP |
| OpenVPN | TCP или UDP | Характерные коды операций | Отвечает по протоколу | Нет | Сигнатура |
| Shadowsocks | TCP или UDP | Поток без структуры, похожий на шум | Зависит от версии | Нет | Эвристики полностью зашифрованного трафика |
| Trojan | TCP | Настоящий TLS к своему домену | Отдаёт заглушку | Да | Домен, отпечаток клиента, TLS внутри TLS |
WireGuard и OpenVPN проще и быстрее в настройке, но в российских сетях без обфускации их распознают в первую очередь: массовые блокировки идут с 2023 года и с тех пор только усилились. AmneziaWG закрывает сигнатуру WireGuard и остаётся на UDP, что удобно там, где UDP не режут. Shadowsocks хорош простотой, но поток совершенно без структуры сам по себе становится признаком: с ноября 2023 года протокол входит в перечень тех, что Роскомнадзор намерен блокировать, а блокировки Shadowsocks и Outline фиксируются с весны 2024 года. Trojan близок к Reality по идее, но требует собственной инфраструктуры с доменом.
Слабые места: блокировки по IP и белые списки
Reality прячет содержимое, но не адрес. IP сервера можно внести в список блокировки, и тогда никакая маскировка не поможет. Сервисы решают это частой сменой адресов и подписками, которые подтягивают новые серверы автоматически.
Второй признак — несоответствие. В SNI указан крупный сайт, а IP принадлежит небольшому хостингу, где этого сайта нет. Сопоставить имя и адрес технически возможно, хотя массово такой метод бьёт и по легитимным конфигурациям. По отзывам пользователей, у части операторов соединения с адресами крупных зарубежных хостингов могут обрываться после небольшого объёма данных, независимо от протокола.
Третье ограничение принципиальное — белые списки. В этом режиме оператор пропускает трафик только к разрешённым адресам, а зарубежный сервер в их число не входит. Протокол здесь ничего не решает, нужен маршрут через узел внутри разрешённого диапазона. При полном отключении мобильного интернета не работает ничего.
На практике сервисы комбинируют Reality с инфраструктурными приёмами. Первое звено цепочки ставят на российский сервер, к которому абоненту подключиться проще, а уже оттуда трафик уходит за рубеж из дата-центра. Протокол на первом участке остаётся тем же, меняется только точка входа. Поэтому одна и та же подписка может содержать прямые зарубежные серверы и серверы-мосты, и при проблемах имеет смысл переключаться между ними, а не менять приложение.
Где используется VLESS Reality: клиенты и сервисы
Поддержка есть во всех основных клиентах на ядрах Xray и sing-box: INCY, Happ, v2rayNG и v2rayN, Hiddify, Karing, NekoBox. В AmneziaVPN связка представлена как XRay (VLESS Reality). С доступностью на iPhone сложнее: на октябрь 2026 в российском App Store есть INCY и Karing, а основные приложения Happ, v2RayTun, Streisand и Hiddify оттуда удалены или недоступны. Под их названиями встречаются клоны от других разработчиков.
Среди сервисов VLESS Reality прямо называют Amnezia Premium, где он идёт вторым протоколом после AmneziaWG, и Project V. У Project V это единственный протокол; поверх него сервис предлагает маршруты на разные случаи, включая мосты через российские узлы и обход белых списков у МТС, МегаФона, Билайна и Т2. Подписка стоит 180 ₽ за 30 дней с квотой 500 ГБ, а обход белых списков расходует её с коэффициентом ×10. Оплата и управление идут только через Telegram. Red Shield VPN строит протоколы RedLink в том числе на основе VLESS, а Fiery VPN и Liberty VPN заявляют VLESS без подробностей о маскировке.
Как понять, что ваше подключение работает через Reality
Самый прямой способ — посмотреть параметры профиля в клиенте. В карточке сервера или в тексте ключа есть характерные поля.
| Параметр | Что означает |
|---|---|
| security = reality | Используется Reality, а не обычный TLS |
| pbk | Публичный ключ сервера для обмена x25519 |
| sid | Короткий идентификатор shortId из метки |
| sni | Имя стороннего сайта, под который идёт маскировка |
| fp | Отпечаток браузера, например chrome |
| flow = xtls-rprx-vision | Включён режим Vision |
Если в профиле стоит security со значением tls, а не reality, это обычный VLESS поверх TLS с собственным доменом. Второй шаг — убедиться, что трафик вообще идёт через туннель: откройте любой сервис определения IP и сравните адрес с тем, что показывается без VPN. Он должен совпадать со страной выбранного сервера, а не с вашим оператором.
Для более глубокой проверки можно записать трафик анализатором пакетов вроде Wireshark: в ClientHello к IP сервера будет видно имя стороннего сайта, а сертификат после рукопожатия зашифрован. Если подключение внезапно перестало работать на всех серверах сразу, первым делом проверьте время на устройстве, затем обновите подписку.
Вопросы и ответы
VLESS Reality — это VPN или прокси?
Технически это прокси-протокол: он передаёт соединения приложений к серверу, а не создаёт сетевой интерфейс сам по себе. Но клиенты вроде INCY, Happ или v2rayNG поднимают на устройстве виртуальный интерфейс и заворачивают в него весь трафик. Для пользователя такое подключение ведёт себя как обычный VPN.
Почему VLESS Reality сложнее заблокировать, чем WireGuard?
У WireGuard узнаваемое рукопожатие: первый пакет фиксированного размера с типом сообщения в заголовке, и оборудование фильтрации находит его по сигнатуре. VLESS Reality выглядит как TLS 1.3 к известному сайту с отпечатком обычного браузера. Чтобы его заблокировать, нужно либо знать IP сервера, либо рисковать задеть обычный HTTPS-трафик.
Можно ли заблокировать VLESS Reality полностью?
Конкретный сервер — да, по IP-адресу, и это происходит регулярно. Отличить сам протокол от обычного HTTPS по содержимому пакетов очень сложно, поэтому цензоры используют косвенные признаки: несоответствие SNI и адреса, объём и характер трафика. В режиме белых списков блокируется всё неразрешённое, и Reality в этом случае не помогает.
Что такое SNI в настройках Reality и зачем он нужен?
SNI — имя сайта, которое клиент открыто передаёт в первом сообщении TLS. В Reality туда подставляется домен реального популярного сайта, и для наблюдателя соединение выглядит как обращение к этому сайту. Если подключиться к серверу без правильного ключа, он перешлёт соединение на этот самый сайт.
Какие приложения поддерживают VLESS Reality?
VLESS Reality поддерживают клиенты на ядрах Xray и sing-box: INCY, Happ, v2rayNG, v2rayN, Hiddify, Karing, NekoBox, а также AmneziaVPN. Из них на октябрь 2026 в российском App Store доступны INCY и Karing. Основные приложения Happ, v2RayTun, Streisand и Hiddify там недоступны.
Какие VPN-сервисы используют VLESS Reality?
Связку VLESS и Reality прямо называют, например, Amnezia Premium (вместе с AmneziaWG) и Project V. Другие сервисы заявляют VLESS без уточнения маскировки или собственные протоколы на его основе, как RedLink у Red Shield VPN. Набор протоколов у сервисов меняется, поэтому актуальные данные стоит смотреть в описании подписки.