VLESS Reality в 2026: что это, как он устроен и почему работает при блокировках

Опубликовано · Обновлено · Команда Structure Live

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 шаг за шагом

  1. Клиент формирует ClientHello с отпечатком браузера и SNI выбранного сайта.
  2. В расширение key_share он кладёт свой временный ключ x25519 и вычисляет общий секрет с публичным ключом сервера из настроек.
  3. Этим секретом клиент шифрует метку: короткий идентификатор shortId, текущее время и версию, и помещает её в поле session_id.
  4. Сервер получает ClientHello, вычисляет тот же секрет своим приватным ключом и пытается расшифровать метку.
  5. Если метка верна, а при включённой проверке времени часы клиента укладываются в допустимое расхождение, сервер сам завершает рукопожатие. Он выдаёт временный сертификат, подлинность которого клиент проверяет общим секретом, а не через удостоверяющий центр.
  6. Если метки нет или она неверна, сервер прозрачно пересылает соединение на настоящий сайт, указанный в его настройках.
  7. Внутри установленного 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. Набор протоколов у сервисов меняется, поэтому актуальные данные стоит смотреть в описании подписки.