Что такое 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, так как это сочетание обеспечивает наилучший баланс между скоростью и незаметностью.