Что такое VLESS Reality и почему он считается эффективным
VLESS — это легковесный прокси-протокол из экосистемы Xray/V2Fly. В отличие от VMess, он не содержит встроенного шифрования и аутентификационного кода, а всю криптографическую работу делегирует нижележащему уровню безопасности — Reality или TLS. Благодаря этому поток данных получается минимальным и структурно простым, что упрощает его маскировку под обычный HTTPS-трафик.
Reality — это механизм безопасности, который заменяет стандартный TLS. Вместо того чтобы создавать узнаваемый VPN-туннель, Reality имитирует рукопожатие реального браузера с легитимным сайтом. Для этого используются три ключевых параметра: pbk (публичный ключ Curve25519), sid (короткий идентификатор) и sni (домен, под который маскируется соединение). Когда клиент подключается, сервер Reality предъявляет сертификат, неотличимый от настоящего HTTPS-сайта, что делает VPN-трафик практически невидимым для DPI.
Именно сочетание VLESS и Reality считается одним из самых устойчивых к глубокому анализу пакетов (DPI) методов обхода блокировок. Однако с ростом использования белых списков у российских провайдеров эффективность этой схемы снижается, и пользователи сталкиваются с тем, что ранее работавшие конфигурации перестают функционировать.
Белые списки: что это и как они работают на стороне провайдера
Белый список (white list) — это набор правил, по которым провайдер или DPI-система определяет, какой трафик считать разрешённым и пропускать без дополнительной проверки. В контексте VLESS Reality это означает, что сеть оператора делит весь трафик на «белый» (легитимный, например, HTTPS к известным сайтам) и «чужой» (потенциально VPN или прокси).
Важно понимать, что белый список — это не кнопка в приложении и не файл со списком CIDR, который можно скачать из GitHub. Это модель фильтрации, реализованная на стороне сети. DPI анализирует не только SNI (имя сервера в TLS-рукопожатии), но и IP-адреса назначения, а также другие характеристики соединения. Если IP-адрес сервера, к которому идёт трафик, не входит в «белый» диапазон, соединение может быть заблокировано даже при корректной маскировке под HTTPS.
Симптомы работы белых списков могут проявляться по-разному: часть сайтов открывается нормально, другие — нет, при включённом туннеле поведение ресурсов меняется, а мобильный интернет может работать хуже, чем Wi-Fi. Это связано с тем, что операторы по-разному настраивают фильтрацию для разных типов подключения.
Почему подмена SNI перестала работать: переход к проверке IP
Долгое время основным методом обхода DPI была подмена SNI — указание в TLS-рукопожатии домена, который заведомо не заблокирован (например, google.com или vk.com). Однако в конце 2025 года российские провайдеры начали внедрять более сложные схемы фильтрации, которые сравнивают IP-адрес, резолвящийся из DNS для указанного SNI, с реальным IP-адресом сервера, куда уходит трафик. Если они не совпадают, соединение блокируется.
Это означает, что даже если SNI указывает на легитимный домен, но сервер VLESS находится на IP, не входящем в «белый» диапазон, трафик будет отсечён. Пользователи сообщают, что с 6 ноября 2025 года многие конфигурации VLESS+Reality, Trojan и VMess перестали работать именно из-за этой новой проверки. При этом сами SNI-домены продолжают пинговаться, но соединение не устанавливается.
Дополнительно операторы начали использовать белые списки по IP-адресам (CIDR). Это означает, что разрешён только трафик к определённым подсетям, принадлежащим крупным российским сервисам, таким как VK, Яндекс или Mail.ru. Если IP вашего VPS не входит в эти подсети, доступ к нему блокируется независимо от SNI.
Как Reality помогает обходить DPI: параметры pbk, sid, sni и fp
Reality использует несколько параметров, которые в совокупности делают трафик неотличимым от обычного HTTPS. Разберём каждый из них.
pbk (public key) — это публичный ключ Curve25519, закодированный в base64url. Он используется для проверки подлинности сервера и шифрования сессии. Клиент должен знать этот ключ, чтобы установить защищённое соединение. В конфигурациях, распространяемых через подписки, pbk часто одинаков для группы серверов, что указывает на общую инфраструктуру.
sid (short ID) — короткий идентификатор (до 16 шестнадцатеричных символов), который позволяет серверу различать клиентов. Он встраивается в TLS-рукопожатие и помогает серверу отличить легитимного VLESS-клиента от случайного посетителя или сканера. Один сервер может обслуживать несколько логических конечных точек с разными sid.
sni (Server Name Indication) — домен, который указывается в TLS ClientHello. Это должен быть реальный, публично доступный HTTPS-сайт, не заблокированный в России. Когда к серверу обращается непроверенный клиент (например, DPI-сканер), Reality возвращает настоящий ответ от этого домена, что делает сервер неотличимым от обычного веб-сервера.
fp (fingerprint) — параметр, который заставляет клиент эмулировать TLS-отпечаток конкретного браузера (Chrome, Firefox, Safari, Edge, QQ). Это позволяет избежать обнаружения по характерным особенностям ClientHello, которые DPI может использовать для идентификации VPN-клиентов.
Все эти параметры вместе создают иллюзию обычного браузерного HTTPS-соединения, что и делает Reality эффективным против DPI.
Роль flow=xtls-rprx-vision в маскировке трафика
Параметр flow=xtls-rprx-vision — это специальный режим управления потоком, доступный в Xray. Он применяется только для TCP-транспорта с Reality (или TLS) и выполняет две ключевые функции.
Первая функция — TLS passthrough. Когда туннелируемый контент сам является HTTPS-трафиком, Vision пропускает внутренний TLS-слой напрямую, без повторной инкапсуляции в другой TLS. Это позволяет избежать паттерна «TLS-over-TLS», который российские DPI научились обнаруживать. Если бы трафик был дважды зашифрован, это создало бы характерную структуру пакетов, выдающую VPN.
Вторая функция — формирование трафика (traffic shaping). Vision выравнивает размеры пакетов и их тайминги, чтобы они соответствовали профилю обычного браузерного HTTPS-трафика. Это снижает статистический отпечаток VPN-сессии, делая её менее заметной для систем анализа трафика.
Практически во всех конфигурациях VLESS+Reality с TCP-транспортом используется flow=xtls-rprx-vision. Для WebSocket, gRPC и xhttp этот параметр не применяется, так как он либо избыточен, либо несовместим с их фреймингом. Отсутствие Vision делает конфигурацию более уязвимой для анализа, но не критично, если другие параметры настроены правильно.
Практические примеры конфигураций и их особенности
Рассмотрим типичную конфигурацию VLESS+Reality, которая используется в подписках для обхода белых списков. Пример URI:
vless://4292f5ab-8963-076c-8052-3615895ce4f1@37.139.33.187:52006?flow=xtls-rprx-vision&encryption=none&type=tcp&security=reality&fp=qq&sni=max.ru&pbk=4CH3o5zOMcFNMbnwXnkAg0FFepmsc0QzhahXkUzb1ik&sid=d8c6b58bcbb0c323#🇦🇹 Austria [*CIDR] VKЗдесь UUID — это учётные данные пользователя, хост — IP-адрес сервера (в данном случае в Австрии), порт — нестандартный (52006). Параметры flow, encryption, type, security, fp, sni, pbk, sid задают поведение Reality. В метке (remark) указано, что конфигурация предназначена для белого списка CIDR и ориентирована на VK-подсети.
Важно отметить, что для работы в условиях белых списков IP-адрес сервера должен находиться в подсети, разрешённой провайдером. Например, если оператор разрешает только подсети VK Cloud или Yandex Cloud, то сервер должен быть размещён именно там. В противном случае соединение будет блокироваться, даже если все параметры Reality настроены правильно.
Некоторые пользователи сообщают, что для обхода блокировок на мобильных операторах (например, Tele2) приходится использовать серверы в подсетях VK или Яндекса, а также комбинировать VLESS с CDN-сервисами, такими как VK Cloud CDN или Yandex Cloud CDN. Это позволяет замаскировать трафик под обращения к легитимным CDN-узлам, которые не блокируются.
Альтернативные протоколы и транспорты: что ещё может работать
Когда VLESS+Reality перестаёт работать из-за белых списков, пользователи ищут альтернативы. Среди протоколов, которые могут быть более устойчивыми, выделяют:
- VLESS + xhttp: транспорт xhttp (HTTP-транспорт с мультиплексированием) в сочетании с Reality или TLS. Некоторые пользователи сообщают, что xhttp с CDN-серверами (например, VK Cloud или Yandex Cloud) продолжает работать даже при жёстких белых списках.
- Trojan: протокол, который также маскируется под HTTPS, но использует стандартный TLS с сертификатом. Однако TLS-over-TLS делает его более уязвимым для DPI.
- ShadowSocks: простой прокси-протокол, но без маскировки под HTTPS он легко обнаруживается.
- Amnezia WireGuard: вариант WireGuard с обфускацией, но в условиях белых списков по IP он также может быть заблокирован.
Что касается транспортов, то WebSocket и gRPC могут работать через CDN, что позволяет скрыть реальный IP-адрес сервера. Однако CDN-сервисы могут быть дорогими, и не все провайдеры разрешают трафик к ним.
Важно понимать, что ни один протокол не даёт 100% гарантии обхода. Белые списки постоянно обновляются, и то, что работало вчера, может перестать работать сегодня. Поэтому рекомендуется иметь несколько запасных конфигураций и следить за обновлениями в сообществах.
Как проверить, работает ли ваша конфигурация, и что делать при сбоях
Если ваше соединение VLESS+Reality перестало работать, первым делом проверьте, не связана ли проблема с белыми списками. Для этого выполните несколько шагов:
- Проверьте доступность SNI-домена: используйте команду
openssl s_client -connect domain:443 -servername domain(или аналогичный инструмент), чтобы убедиться, что домен отвечает. Если домен не отвечает, возможно, он заблокирован или недоступен.
- Проверьте IP-адрес сервера: узнайте, входит ли IP вашего VPS в «белые» подсети вашего провайдера. Это можно сделать, сравнив IP с известными диапазонами VK, Яндекса и других разрешённых сервисов. Если IP не входит, скорее всего, соединение блокируется на уровне IP.
- Проверьте настройки клиента: убедитесь, что UUID, pbk, sid, sni и fp указаны правильно. Ошибка в любом из этих параметров приведёт к сбою рукопожатия.
- Попробуйте другой транспорт: если TCP+Reality не работает, попробуйте xhttp или WebSocket через CDN. Иногда это помогает обойти блокировку.
- Смените SNI: если используемый SNI перестал работать, попробуйте другой легитимный домен, например, из списка разрешённых.
Если ничего не помогает, возможно, провайдер ввёл белые списки по IP, и обход возможен только через серверы в разрешённых подсетях. В этом случае рассмотрите аренду VPS в VK Cloud или Yandex Cloud, либо использование готовых подписок, которые обновляются автоматически.
Будущее обхода блокировок: что ожидать и как подготовиться
Ситуация с белыми списками постоянно меняется. Провайдеры внедряют всё более сложные методы фильтрации, включая проверку IP-адресов, анализ поведения трафика и использование машинного обучения. Это означает, что ни один метод обхода не будет работать вечно.
Однако есть несколько тенденций, которые могут повлиять на будущее:
- Использование CDN: всё больше пользователей обращаются к CDN-сервисам (VK Cloud, Yandex Cloud, Cloudflare) для маскировки трафика. CDN-узлы имеют множество IP-адресов, которые сложно заблокировать целиком.
- Развитие протоколов: появляются новые протоколы и транспорты, такие как xhttp, которые лучше маскируются под обычный HTTP/HTTPS.
- Индивидуальные решения: некоторые пользователи арендуют VPS у российских провайдеров (VK, Яндекс, Mail.ru) и настраивают VLESS+Reality на их IP-адресах, которые автоматически попадают в белые списки.
Чтобы быть готовым к изменениям, рекомендуется:
- Следить за обновлениями в сообществах (например, на Habr Q&A, GitHub-репозиториях с конфигами).
- Иметь несколько запасных конфигураций с разными SNI и транспортами.
- Использовать клиенты, которые поддерживают автоматическое обновление подписок.
- Рассмотреть возможность использования платных VPN-сервисов, которые оперативно реагируют на изменения блокировок.
Помните, что обход блокировок — это постоянная гонка вооружений, и ни одно решение не является вечным.
Вопросы и ответы
Что такое white list в контексте VLESS Reality?
White list (белый список) — это набор правил на стороне провайдера или DPI, определяющий, какой трафик считается разрешённым и пропускается без блокировки. В контексте VLESS Reality это означает, что сеть оператора делит трафик на «белый» (например, HTTPS к известным сайтам) и «чужой» (VPN-трафик). Если IP-адрес сервера не входит в «белый» диапазон, соединение может быть заблокировано, даже если SNI маскируется под легитимный домен.
Почему подмена SNI перестала работать в конце 2025 года?
Провайдеры начали сравнивать IP-адрес, резолвящийся из DNS для указанного SNI, с реальным IP-адресом сервера, куда уходит трафик. Если они не совпадают, соединение блокируется. Кроме того, операторы перешли к белым спискам по IP-адресам (CIDR), разрешая трафик только к определённым подсетям, например, VK или Яндекса. Это делает подмену SNI бесполезной, если сервер находится вне разрешённых подсетей.
Какие параметры Reality важны для маскировки трафика?
Ключевые параметры Reality: pbk (публичный ключ Curve25519), sid (короткий идентификатор), sni (домен для маскировки) и fp (отпечаток браузера). pbk используется для проверки подлинности сервера, sid — для различения клиентов, sni — для имитации обращения к легитимному сайту, fp — для эмуляции TLS-отпечатка конкретного браузера. Все они вместе делают трафик неотличимым от обычного HTTPS.
Что такое flow=xtls-rprx-vision и зачем он нужен?
flow=xtls-rprx-vision — это режим управления потоком в Xray, который применяется для TCP-транспорта с Reality. Он выполняет две функции: TLS passthrough (пропускает внутренний TLS-слой без повторной инкапсуляции, избегая паттерна TLS-over-TLS) и формирование трафика (выравнивает размеры и тайминги пакетов под браузерный HTTPS). Это снижает вероятность обнаружения VPN-трафика DPI.
Какие альтернативы VLESS+Reality существуют для обхода белых списков?
Альтернативы включают VLESS с транспортом xhttp (особенно через CDN), Trojan (но он более уязвим из-за TLS-over-TLS), ShadowSocks (легко обнаруживается), Amnezia WireGuard (может блокироваться по IP). Также можно использовать CDN-сервисы (VK Cloud, Yandex Cloud) для маскировки трафика. Однако ни один метод не гарантирует 100% обхода, так как белые списки постоянно обновляются.
Как проверить, работает ли моя конфигурация VLESS Reality?
Проверьте доступность SNI-домена с помощью openssl, убедитесь, что IP-адрес сервера входит в разрешённые подсети провайдера, проверьте правильность параметров (UUID, pbk, sid, sni, fp). Попробуйте сменить транспорт (например, на xhttp) или SNI. Если ничего не помогает, возможно, провайдер ввёл белые списки по IP, и потребуется сервер в разрешённой подсети (VK, Яндекс).
Что делать, если VLESS Reality перестал работать на мобильном интернете, но работает на Wi-Fi?
Это указывает на то, что мобильный оператор применяет более строгие белые списки, чем домашний провайдер. Попробуйте сменить SNI на домен, который точно разрешён (например, vk.com), или использовать транспорт xhttp через CDN. Также проверьте, входит ли IP вашего сервера в CIDR-диапазоны, разрешённые оператором. Если нет, рассмотрите аренду VPS в VK Cloud или Yandex Cloud.