Материал посвящён законным сценариям сетевой защиты и настройки. Соблюдайте правила, действующие в вашей юрисдикции.
Что такое VLESS простыми словами
VLESS — лёгкий протокол без хранения состояния (stateless). Он появился в 2020 году в проекте V2Ray, а сейчас развивается в Xray. Задача у него узкая: сообщить серверу, кто подключается и куда направить данные, а затем пересылать трафик в обе стороны с минимальными издержками. Клиент предъявляет идентификатор пользователя — UUID, сервер сверяет его со списком разрешённых и, если всё совпало, начинает передачу. Сам VLESS работает поверх потокового соединения, но умеет переносить как TCP-, так и UDP-трафик приложений.
Главная особенность протокола — он почти ничего не добавляет к данным. Заголовок короткий, служебных операций немного, привязки к системным часам нет. Шифрование и то, как соединение выглядит в сети, отданы отдельным слоям: транспорту и TLS или Reality. Благодаря такому разделению один и тот же VLESS работает в разных конфигурациях, а накладные расходы остаются небольшими.
Строго говоря, VLESS — протокол прокси, а не VPN в классическом смысле. Выражение «VLESS VPN» прижилось потому, что клиентские приложения умеют включать режим TUN: создают в системе виртуальный сетевой интерфейс и направляют через него трафик устройства. Для пользователя это выглядит как обычный VPN: включили подключение — и весь трафик или только выбранные приложения идут через сервер.
В Flex-VPN протокол используется в профиле VLESS + Reality — альтернативном варианте подключения поверх TCP/TLS (AmneziaWG, для сравнения, работает поверх UDP). Чем эти профили отличаются на практике и в каких случаях какой удобнее, разобрано в статье AmneziaWG и VLESS + Reality: чем отличаются.
Xray-core: ядро VLESS-клиентов
Xray-core — открытый сетевой движок на языке Go, который в 2020 году отделился от V2Ray и с тех пор развивается самостоятельно. Это «двигатель» без графического интерфейса: он читает конфигурацию, устанавливает соединения по нужному протоколу и маршрутизирует трафик. Кроме VLESS, Xray-core поддерживает VMess, Trojan, Shadowsocks, SOCKS и другие протоколы, а также собственную разработку проекта — слой защиты Reality.
Когда говорят «Xray VPN», обычно имеют в виду связку из графического приложения и ядра внутри него. Обязанности разделены так:
- приложение отвечает за удобство: импорт ключей, обновление подписки, список серверов, кнопку подключения, режим TUN и правила маршрутизации;
- ядро отвечает за сеть: рукопожатие, шифрование, передачу данных и выбор маршрута для каждого соединения.
Ядро у разных клиентов может отличаться. VLESS и Reality, помимо Xray-core, поддерживает, например, sing-box — другой открытый движок со своим форматом конфигурации. Формат ссылок vless:// у них в основном общий, поэтому один и тот же ключ обычно можно импортировать в разные совместимые приложения. Есть и обратная сторона: если параметр появился в ядре недавно, устаревшая версия клиента может его не распознать. Поэтому приложение для VLESS стоит обновлять так же регулярно, как браузер.
Транспорты: TCP, WebSocket, gRPC и XHTTP
VLESS определяет, что передаётся, а транспорт — каким способом данные идут по сети. В ключе транспорт задаётся параметром type, и он должен совпадать с настройкой сервера: клиент с type=ws не договорится с сервером, который ожидает обычный TCP.
- TCP (RAW) — данные идут прямо в TCP-соединении без дополнительных обёрток. В актуальной документации Xray этот транспорт называется RAW, но в ссылках обычно по-прежнему пишут type=tcp. Самый простой вариант с минимальными накладными расходами.
- WebSocket — трафик упаковывается в WebSocket-соединение поверх HTTP. Удобен, когда перед сервером стоит веб-сервер или обратный прокси, который распределяет запросы по путям; путь задаётся параметром path.
- gRPC — работает поверх HTTP/2 и умеет передавать несколько потоков в одном соединении. В ключе для него указывается имя сервиса — serviceName.
- XHTTP — более новый транспорт Xray: передаёт данные обычными HTTP-запросами и ответами и может работать по HTTP/1.1, HTTP/2 и HTTP/3.
Xray поддерживает и другие транспорты, например mKCP поверх UDP и HTTPUpgrade. Связка, которую часто называют «VLESS TCP Reality», — это VLESS поверх обычного TCP со слоем защиты Reality. Если в таком ключе дополнительно указан flow=xtls-rprx-vision, получается вариант, известный как VLESS Reality Vision. Не каждый транспорт сочетается с любым слоем защиты и режимом flow: например, xtls-rprx-vision используется только с TCP (RAW). Поэтому транспорт выбирает администратор сервера, а пользователю достаточно клиента, который поддерживает указанный в ключе вариант.
Чем защищено соединение VLESS: TLS, Reality и VLESS Encryption
Классический VLESS сам данные не шифрует — отсюда параметр encryption=none в большинстве ключей. Это не значит, что трафик идёт открытым текстом: защиту берёт на себя внешний слой, заданный параметром security, — TLS или Reality. В новых версиях Xray к этому добавилось необязательное собственное шифрование протокола, которое задаётся параметром encryption.
TLS
Стандартный протокол защиты веб-трафика — тот же, что работает на сайтах с HTTPS. Сервер предъявляет сертификат для своего домена, клиент проверяет его, после чего стороны договариваются о ключах и шифруют всё содержимое соединения. Вариант хорошо изучен и поддерживается практически всеми совместимыми клиентами.
Reality
Слой защиты, созданный в проекте Xray как альтернатива классическому TLS и основанный на TLS 1.3. Клиент проверяет подлинность сервера с помощью его публичного ключа X25519 — он записан в ключе подключения в параметре pbk, — а короткий идентификатор sid используется при авторизации. Содержимое шифруется алгоритмами TLS 1.3, а само подключение выглядит как обычный защищённый HTTPS-трафик.
VLESS Encryption
В 2025 году в Xray-core появилось необязательное собственное шифрование VLESS. Оно построено на гибридном обмене ключами ML-KEM-768 + X25519: ML-KEM — постквантовый механизм инкапсуляции ключей, стандартизированный NIST в FIPS 203, а X25519 — проверенная эллиптическая криптография. Смысл гибридной схемы в том, что обмен ключами остаётся защищённым, пока надёжен хотя бы один из двух алгоритмов. Когда режим включён, в параметре encryption вместо none стоит длинная строка с настройками; поддерживать его должны и клиент, и сервер, а старые версии приложений такой ключ не примут.
encryption=none в ключе — нормальное значение, а не ошибка. При security=tls или security=reality трафик зашифрован внешним слоем, и добавлять что-то вручную не нужно. А вот сочетание security=none и encryption=none означает, что соединение ничем не защищено.
Разбор ключа vless://: адрес, порт, UUID и параметры
Ключ VLESS — это строка-ссылка, в которую упакованы все параметры подключения. Схематично она выглядит так: vless://UUID@адрес:порт?параметры#название. После знака вопроса идут пары вида имя=значение, разделённые символом &. Обезличенный пример: vless://<UUID>@<адрес>:443?type=tcp&security=reality&pbk=<ключ>&sid=<id>&sni=<имя>&fp=<профиль>&flow=xtls-rprx-vision&encryption=none#Server.
| Поле | Что означает |
|---|---|
| UUID | Идентификатор пользователя: 32 шестнадцатеричных символа в формате 8-4-4-4-12. По нему сервер узнаёт клиента, поэтому он работает как пароль. |
| Адрес | IP-адрес или доменное имя сервера. |
| Порт | Порт, на котором сервер принимает подключения; часто это 443 — стандартный порт HTTPS. |
| type | Транспорт: tcp, ws, grpc, xhttp и другие. |
| security | Внешний слой защиты: tls, reality или none (без внешней защиты). |
| encryption | Собственное шифрование VLESS; none означает, что оно не используется. |
| sni | Имя сервера в TLS-рукопожатии. |
| fp | Профиль TLS-рукопожатия, который использует клиент. |
| pbk и sid | Публичный ключ сервера Reality и короткий идентификатор; нужны только при security=reality. |
| flow | Режим обработки потока в Xray, например xtls-rprx-vision. |
| path, host, serviceName | Параметры транспортов WebSocket, XHTTP и gRPC. |
| #название | Подпись профиля в приложении; на подключение не влияет. |
Раз UUID служит паролем, сама строка ключа — конфиденциальные данные: тот, у кого она есть, может подключиться от вашего имени. Не публикуйте ключи в открытых чатах и на скриншотах, а для каждого устройства используйте отдельный профиль — так проще отозвать доступ, если телефон или ноутбук потерян.
Как импортировать ключ VLESS в приложение
Вводить параметры по одному не нужно: совместимый клиент разбирает ссылку сам. Форматов два. Одиночный ключ vless:// описывает одно подключение к одному серверу. VLESS-подписка — это ссылка, по которой приложение загружает список ключей и может обновлять его без повторного импорта. Подробнее о разнице — в материале VPN-ключ и подписка: что получает пользователь.
- Получите ключ или ссылку подписки. В Flex-VPN подключение оформляется в официальном Telegram-боте @vpn_flex_bot.
- Установите совместимый клиент, например Happ или v2RayTun. Ссылки на приложения собраны на странице загрузки.
- Скопируйте ключ или ссылку целиком — без пробелов, переносов строк и обрезанного конца.
- В приложении откройте добавление профиля и выберите импорт из буфера обмена. Названия пунктов меню в разных клиентах отличаются, но эта функция обычно находится рядом с кнопкой добавления.
- Выберите сервер и подключитесь. При первом запуске система может запросить разрешение на создание VPN-подключения: без него режим TUN не заработает.
- Проверьте результат: откройте несколько сайтов и убедитесь, что внешний IP-адрес сменился на адрес сервера.
Пошаговые инструкции для конкретных клиентов — настройка Happ и VLESS + Reality и как добавить ключ и подписку в v2RayTun. Если вы пользуетесь подпиской в Happ, список серверов приложение обновляет само, повторно импортировать ссылку не придётся.
VLESS, VMess и Trojan: отличия
Все три протокола поддерживаются Xray-core и решают похожую задачу, но устроены по-разному.
| Параметр | VLESS | VMess | Trojan |
|---|---|---|---|
| Авторизация | UUID | UUID | Пароль |
| Собственное шифрование | В классическом варианте нет; опционально VLESS Encryption | Есть (AEAD) | Нет, защиту даёт TLS |
| Зависимость от системного времени | Нет | Да, часы клиента и сервера должны быть синхронизированы | Нет |
| Внешний слой защиты | TLS или Reality | Необязателен, но часто используется TLS | TLS |
| Накладные расходы | Минимальные | Выше из-за собственного шифрования | Небольшие |
VMess — исходный протокол V2Ray. Он шифрует данные сам и поэтому может работать без внешнего TLS, но платит за это дополнительной нагрузкой и требованием к точному времени: при заметном расхождении часов соединение не установится. VLESS задумывался как облегчённая замена — без привязки ко времени и без двойного шифрования поверх TLS. Trojan изначально рассчитан на работу внутри TLS и проверяет клиента по паролю. Протоколы другого устройства — WireGuard, AmneziaWG, OpenVPN — сравниваются в обзоре протоколов VPN.
Нужно ли менять параметры ключа вручную
Нет. Каждый параметр ключа должен совпадать с настройками сервера: UUID — со списком пользователей, pbk и sid — с ключами Reality, транспорт, порт и flow — с конфигурацией входящего подключения. Стоит изменить хотя бы одно значение, и сервер не примет соединение, а клиент покажет ошибку или зависнет на этапе подключения.
Безопасно менять только то, что касается вашего устройства: название профиля, выбор сервера из подписки и правила раздельной маршрутизации — какие приложения или сайты идут через VPN, а какие напрямую. Готовые ключи Flex-VPN рассчитаны на работу сразу после импорта, без правок. При продлении действующие профили обычно продолжают работать, и новый ключ не требуется.
Если профиль не подключается, прежде чем трогать параметры, проверьте простые вещи:
- ключ скопирован полностью и начинается с vless://;
- приложение обновлено до актуальной версии — старое ядро может не знать новых параметров;
- на устройстве правильно выставлены дата и время: от них зависит проверка TLS;
- подписка обновлена в приложении, а другой VPN-клиент в это время не запущен.
Если вы изменили параметры и профиль перестал работать, не пытайтесь угадать исходные значения: удалите профиль и импортируйте ключ заново. Если проблема останется, напишите в поддержку @vpn_flex_support и опишите ошибку, не пересылая сам ключ в открытые чаты.
Частые вопросы
VLESS — это VPN или прокси?
Технически VLESS — протокол прокси. VPN-подобным подключение делает клиент: в режиме TUN он направляет через сервер трафик всего устройства или выбранных приложений.
Шифруется ли трафик, если в ключе указано encryption=none?
Да, если в ключе задан security=tls или security=reality. Параметр encryption относится только к собственному шифрованию VLESS, а защиту в этом случае обеспечивает внешний слой.
Чем VLESS отличается от Xray?
VLESS — протокол, то есть набор правил обмена данными между клиентом и сервером. Xray-core — программа-ядро, которая реализует VLESS и ряд других протоколов.
Чем ключ vless:// отличается от подписки?
Ключ описывает одно подключение к одному серверу. Подписка — ссылка, по которой приложение загружает и обновляет список ключей, поэтому новые серверы появляются без повторного импорта.
Можно ли использовать один ключ VLESS на нескольких устройствах?
Лучше завести отдельный профиль для каждого устройства. Базовый тариф Flex-VPN рассчитан на три устройства, и с отдельными ключами проще управлять доступом и заменить ключ, если устройство потеряно.
Что делать, если приложение не принимает ключ?
Проверьте, что строка скопирована целиком и начинается с vless://, и обновите приложение: старая версия ядра может не поддерживать новые параметры. Если не помогло, обратитесь в поддержку @vpn_flex_support.