Что такое VLESS: как работает протокол и зачем нужны REALITY и XTLS
Понятно разбираем VLESS: из каких слоёв состоит подключение, где появляется шифрование, что делают REALITY и XTLS Vision и как читать параметры профиля.
Обновлено:
VLESS — лёгкий протокол для передачи данных между клиентом и сервером Xray. Он отвечает за идентификацию пользователя и доставку трафика, но сам по себе не описывает всё подключение. На практике рядом с VLESS всегда встречаются транспорт, защита канала и дополнительные параметры.
Коротко: VLESS можно представить как правила разговора между приложением и сервером. TLS или REALITY защищают этот разговор при передаче по сети, а XTLS Vision оптимизирует обработку уже зашифрованного трафика.
VLESS простыми словами
Когда вы открываете сайт через совместимый клиент, приложение принимает локальный трафик устройства, упаковывает запрос по правилам VLESS и отправляет его на сервер Xray. Сервер проверяет идентификатор пользователя, извлекает запрос и устанавливает соединение с нужным сайтом или сервисом.
Упрощённая схема выглядит так:
- Браузер или приложение создаёт обычный сетевой запрос.
- Xray-клиент принимает его через системный VPN/TUN-режим либо локальный прокси.
- Клиент добавляет служебные данные VLESS и идентификатор пользователя.
- Трафик передаётся через выбранный транспорт с TLS, REALITY или другим согласованным способом защиты.
- Xray-сервер проверяет доступ и отправляет запрос к конечному ресурсу.
- Ответ возвращается по тому же соединению.
VLESS называют stateless, то есть не зависящим от заранее синхронизированного состояния протоколом. В отличие от VMess, он не требует, чтобы часы клиента и сервера были синхронизированы с точностью до небольшого окна времени.
Протокол, транспорт и защита — это разные слои
Большинство непонятных названий в профиле становятся проще, если разложить подключение по слоям.
| Слой | Примеры | За что отвечает |
|---|---|---|
| Локальный режим клиента | VPN/TUN, системный прокси | Какие приложения устройства направляют трафик в клиент |
| Прокси-протокол | VLESS | Формат запросов, идентификация пользователя и обмен с Xray-сервером |
| Транспорт | RAW, XHTTP, gRPC, WebSocket | Как поток переносится между клиентом и сервером |
| Защита транспорта | TLS, REALITY | Шифрование канала, проверка сервера и внешний вид соединения |
| Управление потоком | XTLS Vision | Оптимизация передачи некоторых видов трафика |
Поэтому выражения «VLESS over XHTTP» и «VLESS + REALITY + Vision» описывают не конкурирующие протоколы, а комбинации нескольких настроек.
Как VLESS проверяет пользователя
В классическом профиле доступ привязан к идентификатору id, обычно представленному как UUID. Клиент передаёт его серверу в служебной части запроса, а сервер сопоставляет значение со списком разрешённых пользователей.
UUID не следует считать паролем, который безопасно публиковать. Человек, получивший рабочую ссылку или конфигурацию, потенциально сможет использовать включённый в неё доступ. Поэтому профиль подключения лучше хранить так же аккуратно, как пароль:
- не публиковать ссылку в чатах и на форумах;
- не вставлять её в случайные «проверяющие» сайты;
- удалять профиль со старого устройства перед его передачей другому человеку;
- перевыпускать доступ, если ссылка оказалась в открытом доступе.
Шифрует ли VLESS трафик
Ответ зависит от конфигурации.
Исторически в большинстве профилей использовалось encryption=none: VLESS не шифровал полезную нагрузку на уровне самого протокола, поэтому публичное соединение требовало внешней защиты TLS или REALITY. В актуальных версиях Xray существует и опциональный механизм VLESS Encryption, однако его параметры должны поддерживаться обеими сторонами и корректно создаваться средствами Xray.
Практический вывод остаётся простым: нельзя оценивать безопасность профиля только по слову VLESS. Нужно смотреть на всю комбинацию параметров. Если в профиле указано security=none, это допустимо лишь для доверенной частной сети либо для отдельно настроенного VLESS Encryption. Для обычного публичного сервера типичным вариантом будет security=tls или security=reality.
Что такое REALITY
REALITY — механизм защиты транспорта в Xray, основанный на изменённом TLS-подобном рукопожатии. Он проверяет сервер и формирует соединение, которое по внешним характеристикам ближе к обычному веб-трафику.
REALITY не является частью названия VLESS и может рассматриваться как отдельный слой. В профиле с REALITY обычно встречаются:
security=reality— выбранный механизм защиты;sniилиserverName— имя, используемое при установлении соединения;fpилиfingerprint— профиль TLS-клиента;pbk— публичный параметр сервера (в новой документации Xray поле называетсяpassword);sidилиshortId— короткий идентификатор, согласованный с сервером.
Менять эти значения наугад не стоит: клиент и сервер должны использовать совместимые параметры.
Что делает XTLS Vision
xtls-rprx-vision — режим управления потоком. Его задача — уменьшить лишнюю обработку в подходящих комбинациях VLESS и транспорта, особенно когда внутри уже передаётся TLS 1.3-трафик.
В ссылке подключения он часто выглядит как flow=xtls-rprx-vision. Это не отдельное приложение и не самостоятельный VPN-протокол. Если профиль выдан сервисом, лучше импортировать его целиком: удаление flow или замена транспорта может сделать конфигурацию несовместимой с сервером.
Из чего состоит ссылка vless://
Типичная ссылка содержит адрес сервера, порт, идентификатор пользователя и набор параметров после знака ?:
vless://UUID@server.example:443?type=raw&security=reality&flow=xtls-rprx-vision&sni=example.com&fp=chrome&pbk=...&sid=...#Profile
Это только схема, а не рабочая конфигурация. Основные поля:
| Параметр | Значение |
|---|---|
UUID |
Идентификатор доступа пользователя |
server.example |
Домен или IP сервера |
443 |
Порт подключения |
type |
Транспорт: например, RAW, XHTTP, gRPC или WebSocket |
security |
TLS, REALITY или другой согласованный режим |
flow |
Режим управления потоком, если он нужен |
sni |
Имя сервера для TLS/REALITY |
fp |
Отпечаток TLS-клиента |
pbk, sid |
Параметры проверки REALITY |
#Profile |
Отображаемое имя профиля после URL-кодирования |
Названия отдельных полей в ссылке и JSON-конфигурации могут различаться. Клиент преобразует компактную ссылку в настройки ядра самостоятельно.
Чем VLESS отличается от VPN-туннеля
VLESS — прокси-протокол, а WireGuard или OpenVPN создают сетевой туннель. При этом мобильное приложение с VLESS может показывать системный значок VPN: клиент использует VPN API операционной системы, чтобы перехватывать трафик приложений и передавать его в Xray.
То есть системный «VPN-режим» клиента и протокол до сервера — не одно и то же. Подробнее различия разобраны в статье «VLESS, VMess, Trojan, Shadowsocks, WireGuard и OpenVPN: что выбрать».
Сильные стороны VLESS
- Простая модель идентификации без зависимости от синхронизации времени.
- Совместимость с несколькими транспортами Xray.
- Возможность использовать TLS или REALITY как отдельный защитный слой.
- Поддержка XTLS Vision в совместимых конфигурациях.
- Широкий выбор клиентов для настольных и мобильных систем.
Ограничения и частые ошибки
- Название протокола не гарантирует качество сервиса. Скорость зависит от маршрута, загрузки сервера, провайдера, транспорта и настроек.
- Не каждый клиент поддерживает все новые параметры. Старое приложение может импортировать ссылку, но не суметь установить соединение.
- Компоненты конфигурации нельзя смешивать произвольно. Параметры транспорта и защиты должны совпадать на клиенте и сервере.
- VLESS не делает пользователя анонимным автоматически. Сервис всё равно видит технические данные, необходимые для работы, а сайты получают адрес выходного сервера и могут использовать cookies или вход в аккаунт для идентификации.
- Профиль не исправляет слабый маршрут. При высоких потерях пакетов стоит проверить другую локацию, сеть или обратиться в поддержку.
Когда VLESS подходит
VLESS имеет смысл выбирать, если ваш сервис выдаёт готовый профиль, сервер настроен совместимо, а для вашей платформы есть регулярно обновляемый клиент. Пользователю необязательно вручную разбираться во всех полях: безопаснее импортировать готовую ссылку и обновлять приложение.
Для подключения NetGuard выберите инструкцию для своего устройства: Windows, macOS, Linux, Android, iPhone и iPad или Android TV.
Ответы на частые вопросы
VLESS и Xray — одно и то же?
Нет. Xray-core — сетевое ядро, которое поддерживает VLESS и другие протоколы. Графическое приложение управляет ядром, импортирует профиль и подключает трафик устройства.
REALITY обязателен для VLESS?
Нет. VLESS может работать с TLS, REALITY и другими совместимыми конфигурациями. Нужный вариант определяется настройками сервера.
Можно ли открыть одну ссылку в любом клиенте?
Только если клиент поддерживает все использованные параметры: протокол, транспорт, защиту и режим потока. Особенно важно проверить поддержку REALITY, XHTTP и XTLS Vision.
Нужно ли редактировать импортированный профиль?
Обычно нет. Если подключение не работает, сначала обновите клиент, повторно импортируйте ссылку и проверьте сеть. Менять SNI, fingerprint, public key или short ID без данных от сервиса не следует.