Блог · 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 секунд, нет интернета при активном подключении, пустой список серверов. Причина и решение для каждого случая.