VLESS — протокол туннелирования трафика¶
VLESS — сетевой протокол туннелирования трафика, разработанный для обхода интернет-цензуры и защиты соединений. Он является частью экосистемы Xray-core (наследника V2Ray) и входит в число протоколов, используемых в клиенте V2RayNG, а также в клиенты Nekobox, Streisand, v2rayN и другие. VLESS работает поверх транспортного слоя TCP, mKCP (QUIC) или WebSocket и может комбинироваться с TLS-шифрованием, что позволяет маскировать трафик под обычные HTTPS-соединения.
¶История создания
Протокол VLESS был разработан в 2020 году программистом с никнеймом «2dust» (автор проектов V2Ray, v2rayN, V2RayNG) как облегчённая альтернатива протоколу VMess. VMess, созданный ранее в рамках проекта V2Ray, выполнял шифрование и аутентификацию на уровне прикладного протокола, что делало его относительно тяжёлым и сложным. VLESS был спроектирован как более лёгкий протокол, переложивший ответственность за шифрование на внешний слой — прежде всего TLS (в том числе TLS 1.3 с механизмом uTLS для имитации отпечатка браузера).
В 2021 году 2dust представил проект Xray-core — форк V2Ray, в котором VLESS стал основным рекомендуемым протоколом. В том же году к Xray-core присоединился другой разработчик, RPRX, и проект активно развивался. В 2023 году разработчики Xray-core добавили поддержку протокола REALITY — механизма, заменяющего необходимость в собственном TLS-сертификате имитацией реального сайта, что сделало VLESS+REALITY одним из наиболее устойчивых к блокировкам решений.
¶Принцип работы
VLESS не выполняет собственного шифрования. Протокол добавляет к трафику лишь минимальный заголовок с идентификатором пользователя (UUID), версией протокола и дополнительными данными. Вся конфиденциальность обеспечивается внешним транспортом:
- TLS — стандартное шифрование HTTPS, требующее наличия домена и сертификата;
- REALITY — механизм, использующий сертификат реального сайта вместо собственного, что затрудняет определение туннеля средствами DPI;
- XTLS-Vision — оптимизация, снижающая накладные расходы при передаче данных поверх TLS.
Структура соединения при работе VLESS выглядит следующим образом: клиент устанавливает TCP-соединение с сервером, выполняет TLS-рукопожатие (или REALITY-хендшейк), после чего отправляет короткий заголовок VLESS с UUID. Сервер проверяет идентификатор и проксирует трафик к целевому ресурсу. Ответный поток передаётся по той же схеме.
¶Отличия от VMess
| Параметр | VMess | VLESS |
|---|---|---|
| Шифрование | Встроенное (AES-128-GCM и др.) | Отсутствует, возлагается на TLS/REALITY |
| Размер заголовка | Больше | Меньше |
| Требование к TLS | Не обязательно | Обязательно для реальной защиты |
| Сложность реализации | Выше | Ниже |
| Скорость | Чуть ниже | Чуть выше |
¶Транспортные протоколы
VLESS поддерживает несколько транспортов, определяющих способ передачи данных между клиентом и сервером:
- TCP — базовый транспорт, часто комбинируется с TLS или REALITY;
- mKCP — протокол, основанный на QUIC, снижающий влияние потерь пакетов;
- WebSocket — позволяет маскировать трафик под обычный HTTP-обмен, что полезно при работе через CDN;
- gRPC — ещё один вариант маскировки под легитимный HTTPS-трафик.
¶Конфигурация
Конфигурация VLESS задаётся в формате JSON на сервере (config.json для Xray-core) и в виде ссылки-ссылки (vless://uuid@host:port?parameters) на клиенте. Основные параметры включают UUID пользователя, адрес и порт сервера, выбранный транспорт, параметры TLS/REALITY и SNI (имя сервера для TLS-рукопожатия).
Пример клиентской ссылки:
`` vless://uuid-идентификатор@example.com:443?encryption=none&security=reality&sni=www.microsoft.com&fp=chrome&type=tcp&flow=xtls-rprx-vision#имя-сервера ``
¶Применение
VLESS применяется преимущественно для обхода сетевых ограничений и цензуры. Протокол широко используется в странах с развитой системой фильтрации трафика, включая Россию, Китай, Иран. Благодаря поддержке REALITY и uTLS VLESS устойчив к большинству методов определения VPN-трафика средствами систем глубокой инспекции пакетов (DPI).
Наиболее популярные реализации серверной части — Xray-core и его форк на базе Marzban, Hiddify, 3x-ui (панель управления). Среди клиентов — v2rayN (Windows), V2RayNG (Android), Streisand (iOS), Nekobox.
¶Критика и ограничения
VLESS не является самостоятельным решением защиты: без TLS или REALITY протокол не обеспечивает конфиденциальности. Также протокол требует наличия выделенного сервера и доменного имени (для классической схемы с TLS), что создаёт определённый порог входа для неопытных пользователей. Отдельные специалисты отмечают, что VLESS, как и другие протоколы подобного рода, может использоваться не только для легитимного обхода цензуры, но и для сокрытия противоправной деятельности.
Источники:
- Документация проекта Xray-core (XTLS/Xray-core, GitHub)
- Официальный репозиторий 2dust/V2RayNG
- RFC 8446 — TLS 1.3
- Материалы сообщества XDA Developers по настройке VLESS
