Что такое VLESS и зачем он нужен
VLESS — это легковесный прокси-протокол без сохранения состояния, представленный в 2020 году разработчиком RPRX. Он создавался как упрощение VMess, оригинального протокола V2Ray, который к концу 2010-х стал громоздким из-за собственного шифрования, защиты от повторного воспроизведения и синхронизации часов. VLESS не шифрует трафик сам по себе: в конфигурации явно указывается encryption: "none", а вся конфиденциальность делегируется транспортному протоколу, чаще всего TLS 1.3.
Отсутствие собственного шифрования — ключевое преимущество. Когда внутри TLS-туннеля есть второй уровень шифрования, DPI-системы могут распознать характерный паттерн «TLS-в-TLS». Именно это привело к тому, что к сентябрю 2025 года обнаруживаемость VMess на Великом китайском файрволе превысила 80%. VLESS же содержит только аутентификационный блок и метаданные маршрутизации, поэтому его трафик гораздо больше похож на обычный HTTPS-диалог.
Ещё одна особенность — отсутствие привязки ко времени. VMess полагался на синхронизированные часы между клиентом и сервером, что вызывало сбои при сбитых часах на устройстве. VLESS использует UUID для аутентификации: если UUID совпадает, соединение разрешено, если нет — отклонено на первом байте. Никакой зависимости от времени нет.
Как устроен VLESS: заголовок, UUID и транспорты
Протокол VLESS описывается очень компактно. При установке соединения клиент отправляет заголовок, который содержит байт версии, 16-байтовый UUID пользователя, индикатор длины для необязательного поля addons, сами addons, однобайтовую команду (TCP или UDP), порт назначения, тип адреса и сам адрес. В сумме получается от 25 до 50 байт на соединение. Для сравнения, OpenVPN обрабатывает более 100 байт на пакет.
UUID генерируются стандартными средствами, например командой xray uuid. Допускаются и пользовательские строки до 30 байт, которые сопоставляются с UUID по стандарту сопоставления VLESS, но на практике чаще используют канонические UUID.
VLESS поддерживает разные транспорты: TCP (с TLS или без), mKCP, WebSocket, gRPC и QUIC. Каждый транспорт формирует трафик по-своему. WebSocket позволяет маскировать VLESS под обычное HTTP/1.1-рукопожатие и использовать CDN, например Cloudflare. gRPC использует мультиплексирование HTTP/2. QUIC передаёт трафик внутри внешней сессии TLS 1.3 на основе UDP. Такое разделение делает VLESS переносимым и адаптируемым к разным сетевым условиям.
Xray, XTLS Vision и REALITY: стек технологий
На практике VLESS редко используется в одиночку. Основная среда выполнения — Xray-core, форк V2Ray-core, который включает две ключевые технологии: XTLS Vision и REALITY.
XTLS Vision (в конфигурации flow: "xtls-rprx-vision") — это схема заполнения для трафика TLS 1.3. Записи TLS 1.3 имеют предсказуемые сигнатуры длины, когда содержат данные приложения фиксированной формы. Vision добавляет байты заполнения на ранней стадии рукопожатия, а после установления соединения переключается на копирование через raw-сокет. В Linux используется системный вызов splice() для пересылки TCP-пакетов в ядре без копирования через пользовательское пространство. Это даёт пропускную способность, близкую к прямому TCP-соединению, и сглаживает утечки информации о длине.
REALITY, выпущенный в 2023 году, — более радикальное решение. Вместо собственного TLS-сертификата сервер имитирует рукопожатие реального стороннего сайта, например microsoft.com или apple.com. Сервер использует поддельный SNI и обмен ключами X25519. Клиенты, знающие правильный открытый ключ REALITY, выполняют реальное рукопожатие TLS 1.3 с имитированной цепочкой сертификатов, а затем направляются в туннель VLESS. DPI-системы, не знающие ключа, видят обычное соединение с легитимным сайтом, включая настоящий сертификат.
Комбинация VLESS + XTLS Vision + REALITY — это конфигурация, которая по состоянию на середину 2026 года остаётся одной из самых устойчивых к DPI.
VLESS+Reality против Trojan-Go: сравнение подходов
Trojan-Go — реализация протокола Trojan, появившаяся в 2018 году. Она использует собственный TLS-сертификат, а неаутентифицированные запросы проксируются на настроенный «запасной» сайт (обычно nginx). Trojan-Go работает как «собственный сайт, имитирующий легитимный», тогда как Reality «заимствует» сертификат и рукопожатие реального крупного сайта.
Ключевые различия:
- Reality использует подписи легитимных CA для аутентификации сертификатов, Trojan-Go — собственную подпись.
- Reality может использовать SNI крупных легитимных сайтов, Trojan-Go зависит от собственного домена.
- Запасное назначение Reality — реально существующий крупный сайт, у Trojan-Go — настроенный собственный сайт.
По данным практических испытаний 2025–2026 годов, процент успешных подключений через GFW: VLESS+Reality — 98%, Trojan-Go — 91%. Под ограничениями российских ISP: Reality — 95%, Trojan-Go — 88%. В Иране: Reality — 93%, Trojan-Go — 85%.
По производительности Reality также впереди: пропускная способность на 100 Мбит/с канале — 92 Мбит/с против 88 Мбит/с, дополнительная задержка — 8–15 мс против 12–20 мс, загрузка CPU при 100 пользователях — 25% против 32%. Однако Trojan-Go потребляет меньше памяти на клиенте и примерно на 5% меньше заряда батареи на мобильных устройствах, что может быть важно для слабых устройств.
Почему VLESS, Trojan и Reality перестают работать: белые списки и DPI
С конца 2024 года и особенно в 2025–2026 годах пользователи в России массово сообщают о том, что VLESS, Trojan и даже Reality перестают работать, особенно на мобильном интернете. Причина — внедрение операторами «белых списков» — систем фильтрации, которые разрешают трафик только к определённым IP-адресам и доменам, обычно принадлежащим крупным российским сервисам (Яндекс, VK, Mail.ru).
Белые списки могут работать на разных уровнях:
- По SNI: блокируются соединения, где SNI не входит в список разрешённых доменов.
- По IP: блокируются все соединения с IP-адресами, не входящими в белый список подсетей.
- По CIDR: проверяется, принадлежит ли IP-адрес назначения разрешённому диапазону.
Когда белый список работает по IP, обойти его практически невозможно, поскольку DPI проверяет именно IP назначения, а не SNI. В таких условиях даже правильно настроенный VLESS+Reality не поможет, если сервер находится на IP, не входящем в белый список.
Пользователи сообщают, что до 6 ноября 2025 года многие методы с подменой SNI работали, но затем операторы (особенно Tele2, Билайн) ужесточили фильтрацию, добавив проверку IP. Некоторые отмечают, что на МТС и Мегафоне ещё можно найти работающие CIDR Яндекса или VK Cloud, но это временное решение.
Как проверить, что блокируется: SNI, IP или CIDR
Если VPN перестал работать, полезно определить, на каком уровне происходит блокировка. Вот несколько практических шагов.
- Проверка SNI: используйте скрипт, который пытается установить TLS-соединение с разными доменами через
openssl s_client. Если соединение устанавливается, SNI, скорее всего, не блокируется.
Пример команды:
echo -n "Checking domain... "
if timeout 5 openssl s_client -connect domain:443 -servername domain </dev/null > /dev/null 2>&1; then
echo "OK"
else
echo "FAIL"
fi- Проверка IP: попробуйте подключиться к IP-адресу сервера без SNI (например, через
openssl s_client -connect IP:443). Если соединение не устанавливается, возможно, блокировка по IP.
- Проверка CIDR: узнайте, входит ли IP вашего сервера в диапазоны крупных разрешённых сервисов. Например, если сервер находится в подсети Яндекса или VK Cloud, шансы выше.
- Сравнение Wi-Fi и мобильного интернета: если на Wi-Fi VPN работает, а на мобильном нет, скорее всего, мобильный оператор применяет более строгие белые списки.
Также обратите внимание на DNS: если DNS-сервер, который вы используете, находится в блокируемой зоне, это может вызывать проблемы. Рекомендуется использовать DoH или DoT.
Что делать, если VLESS+Reality перестал работать: практические советы
Если ваш VLESS+Reality перестал работать, вот что можно попробовать.
- Смените SNI на домен, который точно входит в белый список вашего оператора. Полезно просканировать список доменов и выбрать тот, который отвечает на TLS-запросы.
- Проверьте, что ваш сервер находится в подсети, разрешённой оператором. Если нет, рассмотрите переезд на хостинг в Yandex Cloud или VK Cloud — их подсети часто включены в белые списки.
- Используйте транспорт xhttp с TLS и настройте host, path и SNI. Некоторые пользователи сообщают, что xhttp через CDN (например, VK Cloud CDN или Yandex Cloud CDN) продолжает работать, когда обычные VLESS+Reality блокируются.
- Обновите панель управления (например, 3X-UI) и сертификаты. Иногда проблема в устаревшей конфигурации.
- Попробуйте переключиться с 4G на 3G — в некоторых случаях на 3G белые списки не применяются, и VPN работает.
- Если ничего не помогает, рассмотрите аренду VPS у российских провайдеров, которые входят в белые списки, или использование CDN-проксирования.
Важно понимать: это бесконечная гонка. То, что работает сегодня, может перестать работать завтра. Регулярно проверяйте актуальные конфигурации и следите за обновлениями Xray-core.
Как выбрать протокол: критерии и сценарии
Выбор протокола зависит от сценария использования.
- Для обхода государственной цензуры (Китай, Россия, Иран) — VLESS+Reality является наиболее устойчивым. Процент успешных подключений выше, чем у Trojan-Go, и маскировка под легитимный HTTPS более совершенна.
- Для корпоративных сетей с межсетевыми экранами — оба протокола работают, но Reality безопаснее при аудите логов, так как трафик выглядит как связь с крупными легитимными сайтами.
- Для стриминга 4K и передачи больших файлов — Reality даёт примерно на 4 Мбит/с большую пропускную способность.
- Для мобильных устройств с ограниченным временем работы от батареи — Trojan-Go потребляет меньше энергии, но Reality быстрее восстанавливает соединение при переключении сетей (1–2 секунды).
- Для начинающих, кто хочет самостоятельно развернуть сервер — Trojan-Go проще в настройке, особенно fallback.
Также стоит учитывать, что традиционные VPN (OpenVPN, WireGuard) легко обнаруживаются DPI и в регулируемых средах быстро перестают работать. WireGuard, например, имеет фиксированный байт рукопожатия 0x01, который легко идентифицировать. Поэтому для обхода цензуры предпочтительны протоколы с маскировкой под HTTPS.
Будущее VLESS и REALITY: что дальше
VLESS и REALITY продолжают развиваться. Xray-core активно обновляется, добавляются новые транспорты и улучшения. Однако DPI-системы также совершенствуются. В России Роскомнадзор сообщил о блокировке 439 VPN-сервисов к январю 2026 года, а бюджет на блокировку VPN на 2025–2027 годы составляет около 60 миллиардов рублей.
Основная тенденция — переход от блокировок по SNI к блокировкам по IP и CIDR. Это делает обход более сложным, но не невозможным. Использование CDN, аренда серверов в подсетях крупных облачных провайдеров, а также новые транспорты (например, xhttp) — это способы адаптации.
Сообщество продолжает искать новые методы маскировки. Например, появляются решения, которые маскируют трафик под звонки VK или другие легальные сервисы. Однако такие методы часто нестабильны и быстро блокируются.
Важно помнить: ни один протокол не даёт 100% гарантии. Рекомендуется иметь несколько запасных серверов и протоколов, а также следить за обновлениями в сообществе.
Вопросы и ответы
Чем VLESS отличается от VMess?
VLESS — это упрощённый протокол без собственного шифрования, в отличие от VMess, который использует AEAD-шифрование и защиту от повторного воспроизведения. VLESS не требует синхронизации часов и имеет меньший заголовок (25–50 байт). Благодаря отсутствию второго уровня шифрования внутри TLS, VLESS сложнее обнаружить DPI-системам. VMess, напротив, создаёт паттерн «TLS-в-TLS», который легко распознаётся, и его обнаруживаемость на GFW превышает 80%.
Почему VLESS+Reality перестал работать на мобильном интернете?
Скорее всего, ваш мобильный оператор ввёл белые списки по IP или CIDR. Это означает, что разрешены соединения только с IP-адресами, входящими в определённые диапазоны (например, Яндекса или VK Cloud). Если ваш сервер находится на IP вне этих диапазонов, трафик блокируется независимо от SNI. Проверьте, входит ли IP вашего сервера в разрешённые подсети, и рассмотрите переезд на хостинг в Yandex Cloud или VK Cloud.
Что такое REALITY и как он маскирует трафик?
REALITY — это технология, которая позволяет серверу имитировать TLS-рукопожатие реального стороннего сайта (например, microsoft.com). Вместо собственного сертификата сервер использует поддельный SNI и обмен ключами X25519. Клиенты, знающие правильный открытый ключ, выполняют настоящее рукопожатие TLS 1.3 и попадают в туннель VLESS. DPI-системы, не знающие ключа, видят обычное HTTPS-соединение с легитимным сайтом, что делает трафик неотличимым от обычного веб-серфинга.
Какой протокол лучше для обхода блокировок в России: VLESS+Reality или Trojan-Go?
По данным практических испытаний, VLESS+Reality показывает более высокий процент успешных подключений (95% против 88% у Trojan-Go) и лучшую производительность. Однако Trojan-Go проще в настройке и потребляет меньше ресурсов на клиенте. Если приоритет — максимальная устойчивость к DPI, выбирайте VLESS+Reality. Если важна простота и экономия заряда батареи, Trojan-Go может быть предпочтительнее.
Можно ли обойти белые списки по IP?
Белые списки по IP обойти крайне сложно, практически невозможно, если ваш сервер не находится в разрешённой подсети. DPI проверяет IP назначения на уровне ядра, и никакие манипуляции с SNI не помогут. Единственный способ — использовать сервер, IP которого входит в белый список (например, в подсети Яндекса или VK Cloud), или использовать CDN-проксирование, которое может перенаправлять трафик через разрешённые IP.
Что такое XTLS Vision и зачем он нужен?
XTLS Vision — это механизм, который добавляет байты заполнения в TLS-записи на ранней стадии рукопожатия, чтобы скрыть предсказуемые сигнатуры длины. После установления соединения он переключается на копирование через raw-сокет, используя системный вызов splice() в Linux. Это повышает производительность и снижает утечки информации о длине пакетов, что затрудняет DPI-анализ. Vision обычно используется вместе с VLESS и REALITY.
Какие есть альтернативы VLESS+Reality, если он не работает?
Если VLESS+Reality не работает, можно попробовать:
- Trojan-Go (проще в настройке, но менее устойчив к DPI).
- VLESS с транспортом xhttp через CDN (например, VK Cloud CDN или Yandex Cloud CDN).
- Shadowsocks с плагинами TLS (v2ray-plugin, cloak).
- WireGuard, но он легко обнаруживается DPI и в регулируемых сетях быстро перестаёт работать.
- Аренду VPS в подсетях крупных облачных провайдеров, которые входят в белые списки.
Рекомендуется иметь несколько запасных вариантов и переключаться в зависимости от ситуации.