Что такое VLESS и зачем он нужен
VLESS (VMess Less) — это легковесный прокси-протокол без сохранения состояния, разработанный в 2020 году как упрощение VMess. Он входит в экосистему Xray-core (форк V2Ray) и используется для связи клиента и сервера. Главная особенность VLESS в том, что он не шифрует трафик самостоятельно — вся защита делегируется внешнему слою (TLS, Reality). Это сделано намеренно: протокол отвечает только за идентификацию пользователя (через UUID) и маршрутизацию, а безопасность и маскировку берут на себя транспортные механизмы.
На практике VLESS никогда не используется сам по себе. Полная конфигурация всегда включает транспорт (RAW/TCP, WebSocket, gRPC, XHTTP) и защиту (TLS или Reality). Поэтому корректно говорить не «у меня VLESS», а «VLESS + Reality + RAW» или «VLESS + TLS + WebSocket». Именно эта модульность сделала VLESS основой современных схем обхода блокировок.
Как устроен протокол VLESS: UUID, заголовок и отсутствие шифрования
Протокол VLESS предельно минималистичен. При установке соединения клиент отправляет заголовок, который содержит:
- байт версии;
- 16-байтовый UUID пользователя (RFC-4122);
- необязательное поле addons;
- однобайтовую команду (TCP или UDP);
- порт назначения;
- байт типа адреса и сам адрес.
Итоговый размер заголовка — от 25 до 50 байт на соединение. Для сравнения: OpenVPN передаёт более 100 байт на пакет. Заголовок не шифруется самим VLESS — в конфигурации обязательно указывается encryption: "none". Это сделано сознательно: протокол делегирует всю конфиденциальность транспортному уровню (TLS 1.3).
Отсутствие собственного шифрования даёт два важных преимущества:
- VLESS не создаёт двойной обёртки TLS-в-TLS, которая характерна для VMess и легко обнаруживается системами DPI;
- протокол не зависит от синхронизации времени — UUID является единственным ключом аутентификации. Если UUID совпадает, соединение авторизовано; если нет — отклоняется на первом байте.
UUID генерируется командой xray uuid или любым стандартным генератором. Допускаются и пользовательские строки до 30 байт, которые сопоставляются с UUID по специальному алгоритму, но на практике используются канонические UUID.
VLESS vs VMess: ключевые различия
VMess — более старый протокол из семейства V2Ray, который имеет встроенное шифрование AEAD, защиту от повторного воспроизведения и зависит от синхронизации часов. VLESS создавался как его облегчённая альтернатива.
Основные отличия:
- Шифрование: у VMess оно встроено в протокол, у VLESS вынесено во внешний слой (TLS, Reality).
- Аутентификация: оба используют идентификатор пользователя, но VLESS полагается только на UUID, без привязки ко времени.
- Совместимость: VMess чаще встречается в старых инструкциях и клиентах, VLESS — в современных сценариях с Reality, XTLS Vision, XHTTP.
- Обнаружение DPI: из-за двойной обёртки TLS-в-TLS VMess стал легко распознаваем — к сентябрю 2025 года уровень обнаружения на «Великом китайском файрволе» превысил 80%. VLESS, напротив, маскируется под обычный TLS-диалог, что делает его значительно более устойчивым.
На практике выбор между VMess и VLESS сегодня очевиден: для новых развёртываний рекомендуется VLESS, особенно в связке с Reality.
Связка VLESS + Reality: как работает маскировка
Reality — это технология транспортной безопасности, разработанная для Xray-core и выпущенная в 2023 году. Её ключевая идея: сервер не использует собственный TLS-сертификат, а имитирует рукопожатие реального стороннего веб-сайта (например, microsoft.com, apple.com).
Как это работает:
- Оператор выбирает цель (домен) для подделки SNI.
- Сервер использует обмен ключами X25519 и подделку SNI.
- Клиенты, знающие правильный открытый ключ Reality, выполняют реальное рукопожатие TLS 1.3 с имитированной цепочкой сертификатов.
- Сторонние наблюдатели (включая DPI) видят обычное соединение с легитимным сайтом, включая настоящий сертификат.
В конфигурации Reality-профиль содержит поля: sni (имя сервера), fp (отпечаток ClientHello, например chrome), pbk (публичный ключ), sid (shortId), иногда spx. Без корректного pbk соединение невозможно.
Связка VLESS + Reality + RAW + flow=xtls-rprx-vision считается одной из самых устойчивых к DPI по состоянию на 2026 год. Уровень обнаружения в полевых отчётах не превышает 5%.
Транспорты VLESS: RAW, WebSocket, gRPC, XHTTP
VLESS не привязан к конкретному транспорту — выбор способа передачи данных настраивается отдельно. Основные варианты:
- RAW/TCP: прямой TCP-транспорт без дополнительных обёрток. Используется в связке с Reality или TLS. Минимальная задержка, но наименьшая маскировка.
- WebSocket: позволяет VLESS скрываться за обычным рукопожатием HTTP/1.1. Трафик можно маршрутизировать через CDN (например, Cloudflare). Требует указания
pathиhost. - gRPC: использует мультиплексирование HTTP/2. Добавляет параметры
serviceNameиauthority. Хорошо маскируется, но требует поддержки HTTP/2 на обеих сторонах. - XHTTP: новый транспорт, оптимизированный для работы с Reality. Добавляет свои
path,host,modeиextra. - HTTPUpgrade: облегчённая версия WebSocket, не поддерживающая бинарные фреймы.
- mKCP: транспорт на основе KCP поверх UDP. Может работать в условиях высокой потери пакетов, но легко обнаруживается.
Важно: транспорты несовместимы между собой. Если сервер настроен на WebSocket, клиент с RAW не подключится. Несовпадение path, host или serviceName — частая причина ошибок «VLESS не работает».
XTLS Vision: управление потоком и заполнение
XTLS Vision (указывается в конфигурации как flow: "xtls-rprx-vision") — это схема заполнения, применяемая к трафику TLS 1.3. Проблема, которую она решает: записи TLS 1.3 имеют предсказуемые сигнатуры длины, когда содержат внутренние данные приложения фиксированной формы. Длина раскрывает информацию о том, что именно передаётся через туннель.
Vision добавляет байты заполнения на ранней стадии рукопожатия, сглаживая утечку информации о длине. После установления соединения он переключается на копирование через необработанный сокет. В Linux используется системный вызов splice(), который пересылает TCP-пакеты в ядре без копирования через пользовательское пространство. Это даёт пропускную способность, близкую к прямому TCP-соединению.
На практике Vision применяется в связке VLESS + Reality + RAW. Без Vision Reality работает, но профиль трафика менее естественен.
Безопасность и ограничения VLESS-профилей
Безопасность VLESS-подключения определяется всей схемой, а не только названием протокола. Ключевые факторы:
- Актуальность клиента и ядра: старые версии могут не поддерживать Reality, XHTTP или новые поля, что снижает устойчивость к DPI.
- Корректная проверка сертификата или Reality-параметров: отключение проверки сертификата («allowInsecure») скрывает реальные ошибки (неправильный SNI, устаревший клиент, подменённый профиль).
- Непубличность UUID: если UUID опубликован, любой может подключиться к серверу.
- DNS и маршрутизация: если приложение работает как локальный прокси, часть программ может идти мимо него. При включении TUN нужно проверять, какие домены исключены и где резолвится DNS.
- Утечки на уровне ОС: VLESS не исправляет утечки DNS или WebRTC, если они не настроены на стороне клиента.
Важно: VLESS не гарантирует анонимность. Сервер видит исходящие подключения, а сайты видят IP сервера. Для полной конфиденциальности требуется дополнительная настройка (например, цепочка прокси или использование Tor).
VLESS в России: текущая ситуация с блокировками
С 2024 года российские системы ТСПУ (технические средства противодействия угрозам) начали тестировать блокировку протокола XRay/VLESS, особенно в связке с Reality. Пользователи из разных регионов сообщают о сбоях: невозможность соединения или существенное падение скорости. Блокировки носят очаговый характер — затрагивают отдельных провайдеров и регионы, что указывает на тестовый режим.
Технически это выглядит как фильтрация на уровне DPI: под ударом оказалась сама механика соединения, а не конкретные IP-адреса. Парадокс в том, что даже «Великий китайский файрвол» до сих пор не смог полностью заблокировать VLESS+Reality — китайские цензоры вынуждены пропускать такой трафик, чтобы не нарушить работу легальных сервисов, под которые маскируется VPN.
Российский регулятор, по-видимому, готов идти на большие риски сопутствующего ущерба (оверблокировка легитимных сайтов). Эксперты предполагают, что текущие перебои — это «учения» на живой сети, где инженеры ищут баланс между эффективностью блокировки и работоспособностью остальной сети.
Для пользователя это означает начало периода нестабильности. Если раньше переход на VLESS+Reality гарантировал стабильную работу на месяцы, то теперь гарантий нет. Разработчики протоколов уже обсуждают методы дополнительной обфускации трафика.
Что проверять, если VLESS не работает
Если VLESS-подключение не устанавливается, причина почти всегда находится уровнем ниже самого протокола. Пошаговая диагностика:
- Поддержка клиента: убедитесь, что приложение и встроенное ядро поддерживают Reality, XHTTP, нужный flow и новые параметры ссылки.
- Совпадение транспорта: RAW, WebSocket, gRPC и XHTTP несовместимы между собой без изменения серверной конфигурации.
- UUID: один лишний символ или другой идентификатор означает отказ в аутентификации.
- SNI и домен: для TLS/Reality адрес подключения, SNI и сертификат или Reality-настройки должны соответствовать схеме.
- Reality-поля: проверьте
pbk,sid,fpиspx. Старые клиенты могут молча игнорировать часть параметров. - WebSocket/gRPC path: неверный
path,hostилиserviceNameчасто даёт таймаут, хотя сервер доступен по порту. - DNS и маршрутизация: если подключение есть, но сайты не открываются, проблема может быть в DNS, правилах routing, TUN-режиме или исключениях приложений.
- Сеть провайдера: иногда профиль работает в одной сети и ломается в другой. Это не доказывает, что «сломался VLESS» — отличаться могут блокировки IP, фильтрация TLS, MTU, IPv6 или DNS.
Мини-чеклист:
- проверили официальный источник приложения или документации;
- подготовили рабочую ссылку, QR-код или subscription URL;
- импортировали профиль без лишних правок;
- проверили подключение на одном понятном сценарии;
- сохранили источник профиля для будущего обновления.
Вопросы и ответы
Чем VLESS отличается от VMess?
VLESS — более лёгкий протокол без встроенного шифрования. VMess имеет собственное шифрование AEAD и защиту от повторного воспроизведения, но из-за двойной обёртки TLS-в-TLS стал легко обнаруживаться DPI (уровень обнаружения >80%). VLESS делегирует шифрование внешнему слою (TLS, Reality) и не зависит от синхронизации времени.
Что такое Reality в контексте VLESS?
Reality — технология транспортной безопасности, при которой сервер имитирует рукопожатие реального стороннего веб-сайта (например, microsoft.com). Клиенты, знающие открытый ключ, выполняют настоящее рукопожатие TLS 1.3, а DPI видит обычное соединение с легитимным сайтом. Reality считается одной из самых устойчивых к DPI технологий.
Можно ли использовать VLESS без TLS?
Технически да, но это небезопасно. VLESS сам по себе не шифрует трафик — encryption=none. Без TLS или Reality все данные передаются в открытом виде, и соединение легко перехватить. На практике VLESS всегда используется с внешней защитой.
Почему VLESS не работает, хотя сервер доступен?
Чаще всего причина в несовпадении транспорта (RAW vs WebSocket), неверном UUID, неправильном SNI, отсутствии обязательных Reality-полей (pbk) или неверном path/serviceName для WebSocket/gRPC. Проверьте каждый параметр по порядку.
Блокируют ли VLESS в России?
Да, с 2024–2025 годов российские системы ТСПУ тестируют блокировку VLESS+Reality. Блокировки носят очаговый характер и затрагивают отдельных провайдеров. Пока полной блокировки нет, но стабильность снизилась. Разработчики ищут методы дополнительной обфускации.
Какой транспорт лучше для VLESS?
Для максимальной устойчивости к DPI рекомендуется связка VLESS + Reality + RAW + flow=xtls-rprx-vision. Если нужна маскировка под HTTP-трафик и возможность использования CDN — WebSocket. gRPC хорошо маскируется, но требует поддержки HTTP/2. Выбор зависит от конкретных условий сети.
Нужно ли синхронизировать время для VLESS?
Нет. В отличие от VMess, VLESS не зависит от системного времени. Аутентификация выполняется только по UUID, без проверки меток времени. Это устраняет класс ошибок, связанных с рассинхронизацией часов на устройстве или сервере.