Блог · 12 мин чтения

VLESS Reality - как он обманывает DPI и где у него предел

Техническая редакция DUDA VPN · 10 мая 2026 г. ·Обновлено 29 июля 2026 г.
Коротко

Про Reality обычно пишут одно и то же: «маскируется под HTTPS, поэтому не блокируется». Это верно ровно настолько, насколько верно «самолёт летит, потому что у него крылья». Ниже - разбор того, что именно происходит в первые 200 миллисекунд соединения, почему подмена работает и в каких случаях она перестаёт работать.

Проблема, которую решает Reality

Любой VPN-протокол должен как-то договориться с сервером о ключах. Этот первый обмен - рукопожатие - идёт до того, как шифрование заработало, и потому виден системе фильтрации целиком.

Дальше начинается неприятное. У каждого протокола рукопожатие имеет узнаваемую форму:

То есть спрятать содержимое недостаточно. Нужно, чтобы соединение выглядело как что-то обыкновенное. Reality решает именно эту задачу.

Что происходит при подключении по шагам

Когда ваше приложение подключается к серверу с Reality, сценарий такой:

  1. Клиент открывает TCP-соединение на 443-й порт - тот же, на котором работает весь HTTPS в интернете.
  2. Клиент отправляет ClientHello и указывает в поле SNI не адрес VPN-сервера, а чужой настоящий домен - например, крупный зарубежный сайт с безупречной репутацией.
  3. Сервер с Reality в этот момент делает главный трюк. Он сам идёт на этот настоящий сайт, забирает у него подлинный TLS-сертификат и отдаёт его вам в ServerHello.
  4. Система фильтрации на пути видит: соединение на 443, SNI указывает на легитимный сайт, сертификат этого сайта настоящий, подписан настоящим удостоверяющим центром, цепочка сходится. Никаких претензий.
  5. Внутри уже установленного TLS-канала клиент и сервер по заранее известному ключу распознают друг друга, и дальше по этому каналу идёт ваш VPN-трафик.

Тонкость, из-за которой всё это вообще имеет смысл: если к серверу постучится не клиент Reality - скажем, сканер, проверяющий, не VPN ли это, - сервер молча проксирует его на тот самый настоящий сайт. Сканер увидит настоящий сайт и уйдёт ни с чем. Отличить одно от другого без приватного ключа невозможно.

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

Чем Reality отличается от предыдущих попыток

Маскировать VPN под HTTPS пробовали и раньше. Разница в деталях, и она решающая.

ПодходКак маскируетсяПочему ловится
VMess + TLSСвой домен и свой сертификат Let's EncryptДомен молодой, трафика мало, сертификат выпущен неделю назад - домен уходит в блок целиком
TrojanСвой домен, при неудаче отдаёт заглушкуТо же самое: сервер обслуживает один-единственный домен, за которым нет реального сайта
ShadowsocksНикак, трафик под случайный шумОтсутствие структуры само по себе примета
RealityЧужой сертификат чужого популярного доменаЗаблокировать значит заблокировать настоящий крупный сайт

Вот в этом и суть. У всех предыдущих схем блокировка ничего не стоила: закрыли неизвестный домен - и всё. С Reality цена ошибки для фильтрующей стороны - обвал настоящего популярного ресурса, которым пользуются миллионы. Это принципиально другой расклад.

XTLS Vision: зачем нужен ещё один слой

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

XTLS Vision это чинит. Он распознаёт, что внутри туннеля уже идёт зашифрованный TLS-поток, и после установки соединения перестаёт шифровать его повторно, просто копируя байты. Результат - меньше нагрузка на процессор (заметно на слабых роутерах и телефонах) и отсутствие двойной подписи. В конфигурации это выглядит как flow: xtls-rprx-vision.

Транспорт: TCP, gRPC или XHTTP

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

ТранспортСильная сторонаГде проседает
TCP + VisionМинимальные накладные расходы, лучший потолок скоростиЧувствителен к потерям: одна потеря тормозит весь поток
gRPCХорошо переживает нестабильные мобильные сети, легко мультиплексируетсяВыше задержка на установку, чуть больше служебных данных
XHTTPВыглядит как обычные HTTP-запросы, лучше всех проходит через прокси и кривые LTE-сетиТребует аккуратной настройки, иначе ломается на ровном месте

Грабли из практики. У XHTTP есть параметр xPaddingBytes - диапазон случайного «мусора», добавляемого к запросам, чтобы сбить статистику по размерам. Если диапазон на сервере уже клиентского по умолчанию (100-1000 байт), сервер начинает отвечать HTTP 400 на часть запросов. Со стороны пользователя это выглядит как «VPN подключился, но интернета нет» - и диагностируется мучительно, потому что все ключи верные и порт открыт. Мы напоролись на это при настройке собственного узла: лечится расширением серверного диапазона так, чтобы он перекрывал клиентский.

Где Reality всё-таки виден

Честный раздел, которого обычно нет в обзорах. Reality не всесилен, и понимать его границы полезно.

Ни один из этих пунктов не про криптографию. Все - про эксплуатацию. Поэтому качество VPN на Reality определяется не тем, что в описании написано «Reality», а тем, насколько аккуратно администратор ведёт узлы.

Что Reality не делает

Три частых заблуждения:

Как это выглядит у нас

Мы держим сеть узлов в Нидерландах, Швеции, США и Польше плюс отдельный входной узел в России, и все они работают на VLESS Reality с XTLS Vision. Пользователю ничего из вышеописанного настраивать не нужно: параметры маскировки, транспорт и ротация уже зашиты в ссылку подписки, а приложение забирает актуальный список серверов само. Если мы меняем узел или добавляем новый, он появляется в приложении без каких-либо действий с вашей стороны.

Как подключиться - по шагам расписано в инструкциях для iPhone, Android, Windows и Mac.

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

Reality - это то же самое, что VLESS?

Нет. VLESS - это транспортный протокол (что и как передаётся внутри туннеля), Reality - способ замаскировать TLS-рукопожатие снаружи. Их используют вместе, поэтому в приложениях конфигурация подписана «VLESS Reality», но это два разных слоя.

Можно ли определить Reality по трафику?

По содержимому рукопожатия - практически нет: оно математически неотличимо от обращения к настоящему сайту, чей сертификат заимствован. По поведению - иногда да: если вы качаете 40 ГБ «с сайта банка», это аномалия. Именно поэтому важен разумный выбор маскировочного домена.

Reality безопаснее OpenVPN?

С точки зрения шифрования они сопоставимы: Reality опирается на стандартный TLS 1.3 с X25519. С точки зрения незаметности Reality сильно впереди - OpenVPN распознаётся DPI по первому же пакету рукопожатия.

Почему тогда все не перешли на Reality?

Reality требует сервера, который вы контролируете, и аккуратной настройки: ошибка в параметрах маскировки делает узел заметнее обычного VPN. Массовые коммерческие VPN на готовых приложениях не могут это раздать одной кнопкой.

DV
Техническая редакция DUDA VPN
Мы администрируем собственную сеть VPN-серверов для России: узлы в Нидерландах, Швеции, США, Польше и входной RU-узел на реальной LTE-станции в Сургуте. Все инструкции и замеры в этой статье проверены на этой инфраструктуре, а не переписаны из чужих обзоров. Нашли неточность - напишите в @paydudabot.

Подключи VPN прямо сейчас

Оплата криптой или СБП. Активация мгновенная. Аккаунт не обязателен.
VLESS Reality - не определяется как VPN, работает в России.

Выбрать тариф →
Безлимитный трафик Все устройства Поддержка 24/7 Работает в России
Читайте также
13 мин чтения

ТСПУ и DPI: как в России технически устроена фильтрация трафика

Что такое ТСПУ, где оно стоит в сети оператора, какими методами DPI распознаёт протоколы и почему у соседа на другом операторе всё работает иначе.

11 мин чтения

Сколько на самом деле стоит VPN в пинге и скорости - наши замеры

Замеры задержки и потерь с собственного узла в Сургуте до выходных серверов: сколько миллисекунд добавляет VPN, откуда берётся разница между узлами и что реально влияет на скорость.

12 мин чтения

VPN подключился, но интернета нет - разбор всех причин по симптомам

Определитель неисправностей VPN: подключается и сразу рвётся, работает 10 секунд, нет интернета при активном подключении, пустой список серверов. Причина и решение для каждого случая.