Протокол VLESS: как работает, чем отличается от других VPN и почему обходит DPI

Разбираем протокол VLESS: архитектуру, отличие от VMess, Trojan, Shadowsocks и WireGuard, роль Xray, REALITY и XTLS Vision, а также практические способы настройки и ограничения.

Что такое VLESS и зачем он нужен

VLESS (Very Lightweight Encryption Security Stream) — это легковесный прокси-протокол без сохранения состояния, представленный в 2020 году разработчиком RPRX как эволюция VMess. Его главная задача — обеспечить максимальную невидимость для систем глубокого анализа пакетов (DPI), которые используются для блокировки VPN в России, Китае и Иране.

В отличие от традиционных VPN-протоколов, которые создавались для приватности и скорости, VLESS проектировался с единственной целью — быть незаметным. Он не шифрует трафик сам по себе, а делегирует эту задачу внешнему транспортному уровню, обычно TLS 1.3. Это позволяет избежать характерных сигнатур, которые выдают другие протоколы.

VLESS существует в двух основных реализациях: оригинальная в v2fly/v2ray-core и более активно развиваемая в XTLS/Xray-core. Именно Xray-core добавляет ключевые технологии — XTLS Vision и REALITY, которые делают VLESS эффективным в условиях современной цензуры.

Как устроен VLESS: заголовок, UUID и отсутствие шифрования

Протокол VLESS предельно прост. При установке соединения клиент отправляет заголовок, который содержит:

  • байт версии (0x00);
  • 16-байтовый UUID пользователя;
  • длину и содержимое необязательного поля addons;
  • однобайтовую команду (TCP или UDP);
  • порт назначения;
  • тип адреса (IPv4, домен, IPv6) и сам адрес.

Итого от 25 до 50 байт на соединение. Для сравнения, OpenVPN добавляет более 100 байт служебных данных на каждый пакет. При этом заголовок VLESS не шифруется самим протоколом — в конфигурации явно указывается encryption: "none". Это осознанное решение: вся конфиденциальность обеспечивается внешним TLS-туннелем.

Отсутствие собственного шифрования даёт два важных преимущества. Во-первых, VLESS не создаёт эффекта «TLS-в-TLS», который возникает, когда внутри TLS-соединения работает ещё один зашифрованный протокол (как у VMess). DPI-системы научились распознавать такую двойную обёртку, и именно это привело к тому, что к сентябрю 2025 года обнаружение VMess на «Великом китайском файрволе» превысило 80%. Во-вторых, VLESS не зависит от синхронизации часов между клиентом и сервером, что устраняет целый класс ошибок соединения, характерных для VMess.

Аутентификация в VLESS строится исключительно на UUID. Если UUID совпадает — соединение разрешено, если нет — отклонено на первом байте. Никаких временных меток и защиты от повторного воспроизведения. UUID генерируется стандартными средствами, например командой xray uuid.

Транспорты VLESS: TCP, WebSocket, gRPC, QUIC

VLESS — это протокол, которому безразличен транспорт. Он может работать поверх TCP (с TLS или без), mKCP, WebSocket, gRPC и QUIC. Каждый транспорт по-своему формирует трафик, что позволяет адаптировать VLESS под разные сценарии.

WebSocket — самый популярный выбор для обхода DPI. Он позволяет VLESS скрываться за обычным HTTP-рукопожатием и маршрутизировать трафик через CDN, например Cloudflare. Это даёт дополнительный уровень маскировки: DPI видит HTTPS-трафик к известному CDN, который используется миллионами легитимных сайтов, и не может заблокировать его без ущерба для всего интернета.

gRPC использует мультиплексирование HTTP/2, что удобно для длительных соединений и мобильных приложений. QUIC передаёт весь трафик внутри внешней сессии TLS 1.3 на основе UDP, что может быть полезно в сетях с нестабильным соединением.

Выбор транспорта зависит от конкретных условий: если нужно максимальное скрытие — WebSocket + CDN, если важна скорость — TCP с XTLS Vision, если нужна совместимость с корпоративными сетями — gRPC.

Xray, XTLS Vision и REALITY: стек, который делает VLESS неуязвимым

Сам по себе VLESS — лишь каркас. В реальных развёртываниях он работает в связке с Xray-core, который добавляет две ключевые технологии: XTLS Vision и REALITY.

XTLS Vision (в конфигурации flow: "xtls-rprx-vision") решает проблему утечки информации о длине записей TLS 1.3. Когда внутри TLS-туннеля передаются данные фиксированной формы, их размеры могут выдать характер соединения. Vision добавляет байты заполнения на ранней стадии рукопожатия, а после установления соединения переключается на копирование через необработанный сокет. В Linux используется системный вызов splice(), который пересылает TCP-пакеты в ядре без копирования через пользовательское пространство. Это даёт пропускную способность, близкую к прямой, и сглаживает сигнатуры длин.

REALITY — более радикальное решение, выпущенное в 2023 году. Вместо собственного TLS-сертификата сервер имитирует рукопожатие реального стороннего веб-сайта, например microsoft.com или apple.com. Оператор выбирает целевой домен, сервер использует подделку SNI и обмен ключами X25519. Клиенты, знающие правильный открытый ключ REALITY, выполняют настоящее рукопожатие TLS 1.3 с имитированной цепочкой сертификатов, а затем направляются в туннель VLESS. DPI-системы, которые не знают ключа, видят обычное соединение с легитимным сайтом, включая настоящий сертификат.

Сочетание VLESS + XTLS Vision + REALITY — это конфигурация, которая по состоянию на середину 2026 года остаётся одной из самых устойчивых к обнаружению. Полевые отчёты показывают уровень обнаружения менее 5%.

Сравнение VLESS с VMess, Trojan, Shadowsocks и WireGuard

Чтобы понять преимущества VLESS, полезно сравнить его с другими популярными протоколами.

VMess — предшественник VLESS. Использует собственное шифрование AEAD, защиту от повторного воспроизведения и синхронизацию часов. В нецензурированной сети эти функции снижают пропускную способность на несколько процентов и не дают преимуществ. В цензурированной сети шаблон шифрования внутри TLS легко обнаруживается — к сентябрю 2025 года уровень обнаружения на GFW достиг 80%.

Trojan — ещё более простой протокол: пароль вместо UUID, TLS снаружи. Долгое время считался «необнаружимым», но после обновления DPI в августе 2025 года его обнаружение выросло до 90%. Проблема в том, что Trojan-серверы отвечают на невалидные запросы характерным образом, что позволяет активному зондированию выявлять их.

Shadowsocks — симметричный AEAD-шифр без TLS-фасада. Изначально маскировался под случайные байты, но современные DPI помечают полностью зашифрованный трафик как подозрительный. Современные развёртывания используют плагины обфускации (v2ray-plugin, cloak), которые фактически перестраивают архитектуру VLESS с другой стороны. Уровень обнаружения — около 95%.

WireGuard — VPN на уровне ядра, а не прокси-протокол. В чистой сети он на 2-3% быстрее VLESS+XTLS и требует меньше ресурсов CPU. Однако его фиксированный байт рукопожатия 0x01 легко идентифицируется DPI, и в цензурированных сетях эффективная пропускная способность падает почти до нуля.

VLESS+REALITY — единственный протокол, который на данный момент стабильно работает в условиях жёсткой цензуры. Его преимущество — в отсутствии собственных сигнатур и в маскировке под обычный HTTPS-трафик.

Как DPI обнаруживает VPN: три метода и почему VLESS их обходит

Современные системы цензуры, такие как российская ТСПУ, используют три основных метода обнаружения VPN-трафика.

Фингерпринтинг протоколов — анализ характерных рукопожатий. OpenVPN начинается с узнаваемого паттерна P_CONTROL_HARD_RESET_CLIENT_V2, WireGuard — с поля типа 0x01. Эти сигнатуры постоянны для всех соединений, поэтому DPI может обнаружить их с почти идеальной точностью. VLESS не имеет таких сигнатур: его заголовок не содержит магических чисел или опкодов, а весь трафик обёрнут в стандартный TLS 1.3, который выглядит как обычный HTTPS-запрос.

Статистический анализ трафика — анализ паттернов размеров и таймингов пакетов. WireGuard отправляет пакеты с предсказуемыми интервалами и постоянными размерами, Shadowsocks имеет характерный паттерн маленьких управляющих пакетов, за которыми следуют большие данные. Модели машинного обучения могут идентифицировать такие паттерны с точностью 80-95%. VLESS с XTLS Vision сглаживает сигнатуры длин, а REALITY делает трафик неотличимым от обычного браузинга.

Активное зондирование — когда DPI подозревает, что сервер является VPN, она активно подключается к нему и пытается выполнить рукопожатие протокола. Если сервер отвечает VPN-специфичным поведением, он попадает в чёрный список. Именно так были пойманы многие серверы Shadowsocks и Trojan. REALITY решает эту проблему: сервер отвечает на невалидные запросы как обычный веб-сервер, имитируя целевой сайт, поэтому зондирование не даёт результатов.

Таким образом, VLESS+REALITY обходит все три метода обнаружения, что делает его практически неуязвимым в условиях современной цензуры.

Практическая настройка VLESS: три способа от простого к сложному

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

Способ 1: AmneziaVPN. Самый простой вариант — использовать приложение AmneziaVPN с функцией Self-hosted VPN. Нужно зарегистрироваться у хостера (например, VDSina), заказать сервер с 1 ядром и 2GB RAM, затем в приложении ввести IP-адрес и root-пароль. Выбрать протокол XRay (XRay with Reality), и программа автоматически настроит сервер. По умолчанию используется VLESS.

Способ 2: 3X-UI панель. Многие хостеры предлагают установку 3X-UI (или X-UI) — графического интерфейса для управления XRay. После заказа сервера вы получаете ссылку на панель, логин и пароль. В панели нужно добавить подключение: протокол vless, порт 443, безопасность Reality, нажать «Get New Cert», выбрать flow xtls-rprx-vision. После создания конфигурации вы получите QR-код или URL-ссылку для импорта в клиент.

Способ 3: Ручная установка. Для опытных пользователей. Сначала обновляем пакеты и устанавливаем XRay:

apt update -y
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

Затем генерируем UUID и ключи X25519:

xray uuid
xray x25519

Далее нужно выбрать сайт для имитации REALITY — он должен поддерживать HTTP/2, TLS 1.3 и X25519. Проверить можно так:

curl -I --tlsv1.3 --http2 https://example.com

После этого редактируем конфигурационный файл /usr/local/etc/xray/config.json, вставляя сгенерированные ключи и домен. Перезапускаем XRay:

systemctl restart xray
systemctl status xray

Для подключения используем URL-строку вида:

vless://@:443?type=tcp&security=reality&pbk=&fp=chrome&sni=&sid=&flow=xtls-rprx-vision#имя

Эту строку можно преобразовать в QR-код с помощью qrencode.

Клиенты для VLESS и особенности подключения

Для подключения к VLESS-серверу существует множество клиентов, поддерживающих импорт конфигураций через QR-код или URL-ссылку.

  • Windows: Hiddify, InvisibleMan-XRay, NekoBox;
  • iOS и macOS: Hiddify, FoXray, Streisand;
  • Android: Hiddify, v2rayNG, NekoBox;
  • Linux: Hiddify, NekoBox.

Большинство клиентов позволяют импортировать конфигурацию, отсканировав QR-код или вставив URL-ссылку. Если функция импорта отсутствует, данные из URL нужно переносить вручную: UUID, адрес сервера, порт, тип безопасности (reality), публичный ключ, SNI, short ID и flow.

Важно: при использовании REALITY необходимо указать правильный отпечаток (fingerprint) браузера, например chrome, чтобы рукопожатие выглядело как настоящее браузерное. Также нужно убедиться, что выбранный для имитации сайт действительно поддерживает TLS 1.3 и HTTP/2, иначе соединение может не установиться.

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

Ограничения и риски использования VLESS

Несмотря на высокую эффективность, VLESS не является панацеей. Существуют ограничения и риски, которые важно учитывать.

Зависимость от внешнего TLS. VLESS не шифрует трафик сам, поэтому если TLS-слой будет скомпрометирован или заблокирован, протокол становится бесполезен. Это означает, что нужно тщательно настраивать TLS-конфигурацию и использовать актуальные версии Xray.

IP-блокировки. Даже с идеальной маскировкой протокола, IP-адрес сервера может быть заблокирован. Рекомендуется использовать CDN (например, Cloudflare) для скрытия реального IP. Однако CDN может замедлить соединение и добавить задержку.

Активное зондирование. Хотя REALITY эффективно противостоит активному зондированию, не исключено, что DPI-системы со временем научатся распознавать его. Уже сейчас некоторые исследователи отмечают, что REALITY может быть уязвим к анализу таймингов рукопожатия.

Юридические риски. Использование VPN для обхода блокировок может нарушать законодательство некоторых стран. В России, например, за предоставление VPN-сервисов без лицензии предусмотрены штрафы. Пользователи должны самостоятельно оценивать риски.

Техническая сложность. Ручная настройка VLESS требует знаний в области сетевых технологий и Linux. Ошибки в конфигурации могут привести к неработоспособности сервера или его обнаружению.

Скорость. Хотя XTLS Vision обеспечивает высокую производительность, использование CDN или WebSocket может снизить скорость. В некоторых случаях пропускная способность может быть ниже, чем у WireGuard в чистой сети.

Перспективы VLESS и будущее обхода цензуры

VLESS продолжает развиваться, и его будущее выглядит многообещающим, но неопределённым. С одной стороны, он остаётся самым эффективным протоколом для обхода DPI в России, Китае и Иране. С другой стороны, DPI-системы постоянно совершенствуются, и нельзя исключать, что VLESS+REALITY со временем будет скомпрометирован.

Уже сейчас наблюдается тенденция к мультипротокольной стратегии: клиенты автоматически переключаются между VLESS, VMess, Shadowsocks и Trojan в зависимости от доступности. Это позволяет сохранять подключение даже если один из протоколов будет заблокирован.

Разработчики Xray активно работают над улучшением REALITY и XTLS Vision, добавляя новые методы обфускации и оптимизации. Например, рассматривается возможность использования QUIC для REALITY, что может повысить устойчивость к блокировкам.

В долгосрочной перспективе, возможно, появятся новые протоколы, которые будут ещё более незаметными. Однако на данный момент VLESS остаётся золотым стандартом для обхода цензуры, и его популярность будет только расти.

Вопросы и ответы

Чем VLESS отличается от VMess?

VLESS — это упрощённая версия VMess, созданная в 2020 году. Главное отличие — отсутствие собственного шифрования и защиты от повторного воспроизведения. VLESS не шифрует заголовок, а полагается на внешний TLS-туннель, что делает его невидимым для DPI. VMess, наоборот, имеет собственный слой шифрования AEAD, который создаёт характерный паттерн «TLS-в-TLS» и легко обнаруживается современными DPI-системами. Кроме того, VLESS не зависит от синхронизации часов, что устраняет ошибки соединения, характерные для VMess.

Почему VLESS считается необнаружимым?

VLESS не имеет собственных сигнатур протокола: его заголовок состоит из UUID и метаданных маршрутизации, которые не содержат магических чисел или опкодов. Весь трафик оборачивается в стандартный TLS 1.3, который выглядит как обычный HTTPS-запрос. Дополнительно REALITY имитирует рукопожатие реального стороннего сайта, а XTLS Vision сглаживает сигнатуры длин записей. В результате DPI не может отличить VLESS-трафик от обычного браузинга.

Какие клиенты поддерживают VLESS?

VLESS поддерживается большинством современных прокси-клиентов. Для Windows: Hiddify, InvisibleMan-XRay, NekoBox. Для iOS и macOS: Hiddify, FoXray, Streisand. Для Android: Hiddify, v2rayNG, NekoBox. Для Linux: Hiddify, NekoBox. Большинство клиентов позволяют импортировать конфигурацию через QR-код или URL-ссылку.

Нужен ли VLESS сертификат TLS?

В классической конфигурации VLESS+TLS нужен собственный сертификат, например от Let's Encrypt. Однако при использовании REALITY сертификат не требуется: сервер имитирует рукопожатие реального стороннего сайта, используя его сертификат. Это упрощает настройку и повышает скрытность.

Можно ли использовать VLESS с CDN?

Да, VLESS отлично работает с CDN, особенно с Cloudflare. Для этого используется транспорт WebSocket: клиент подключается к IP-адресам CDN, которые проксируют трафик к вашему origin-серверу. Это скрывает реальный IP-адрес сервера и делает блокировку практически невозможной, так как CDN используется миллионами легитимных сайтов.

Какие риски при использовании VLESS в России?

Основные риски — юридические: использование VPN для обхода блокировок может нарушать законодательство РФ, и за предоставление VPN-сервисов без лицензии предусмотрены штрафы. Также существует технический риск: если DPI-системы научатся обнаруживать REALITY, сервер может быть заблокирован. Рекомендуется использовать CDN и мультипротокольные клиенты для снижения рисков.

Какой транспорт лучше для VLESS?

Выбор транспорта зависит от целей. Для максимальной скрытности и защиты от IP-блокировок лучше всего подходит WebSocket + CDN. Для высокой скорости и низкой задержки — TCP с XTLS Vision. Для мобильных сетей и нестабильных соединений — gRPC или QUIC. В большинстве случаев рекомендуется использовать TCP+REALITY, так как это сочетание обеспечивает наилучший баланс между скоростью и незаметностью.