VLESS простыми словами
VLESS — это протокол передачи данных из экосистемы Xray, открытого проекта под лицензией MPL 2.0. Документация Xray называет его лёгким протоколом без сохранения состояния: он описывает только то, как клиент представляется серверу и сообщает, куда направить трафик. Собственного шифрования у VLESS нет, и это сознательное решение: защиту трафика даёт внешний слой TLS, тот же, что используют сайты с адресом https. Право на подключение клиент подтверждает идентификатором UUID — строкой из 36 символов, которую сервер сверяет со своим списком.
Название читается как «V less»: протокол задумывался как упрощённый преемник VMess, у которого были собственное шифрование и зависимость от системного времени. VLESS от времени не зависит, служебных данных добавляет минимум, а всё остальное отдаёт транспорту и TLS. Поэтому реализация простая и быстрая, а сам протокол не привязан к одному способу доставки: он одинаково работает поверх обычного TCP, WebSocket, gRPC или XHTTP.
Строго говоря, VLESS — прокси-протокол: клиент просит сервер открыть соединение с нужным адресом и портом, а дальше передаёт через него данные. Виртуального сетевого интерфейса с внутренними IP-адресами, как у WireGuard, протокол не создаёт. Эту работу выполняет приложение: Happ поднимает в системе VPN-туннель, забирает трафик всех программ и упаковывает его в соединения VLESS до сервера. Для пользователя разница незаметна, для инженера важна: протокол и клиент решают разные задачи. О самом приложении — в статье что такое Happ.
Как устроено соединение VLESS
Соединение начинается как визит на сайт
Клиент открывает TCP-соединение с сервером, обычно на порт 443, и проводит TLS-рукопожатие с доменным именем сервера: проверяет сертификат и договаривается о сессионных ключах. С этого момента всё внутри зашифровано TLS 1.3. Затем клиент отправляет короткий заголовок VLESS: версию протокола, свой UUID, команду и адрес назначения. Сервер находит UUID в списке разрешённых, устанавливает соединение с указанным адресом и начинает передавать данные в обе стороны. Если UUID неизвестен, сервер отвечает как обычный веб-сервер и ничего о себе не сообщает.
UUID вместо пары ключей
Идентификатор клиента — одновременно логин и пароль. Отдельного пароля или клиентского сертификата нет, поэтому тот, кто знает UUID, адрес и параметры транспорта, может подключиться. Отсюда правило: ссылку с ключом хранят так же бережно, как пароль. Один UUID может работать на нескольких устройствах сразу, если провайдер это разрешает: у Muhomor VPN одна подписка рассчитана на пять устройств. Подлинность сервера подтверждает не заранее известный публичный ключ, как в WireGuard, а TLS-сертификат домена от удостоверяющего центра.
Транспорты
Транспорт определяет, во что упакован поток VLESS внутри TLS.
- TCP (RAW) — поток идёт напрямую внутри TLS-соединения. Минимум накладных расходов; здесь же доступен необязательный режим
flow=xtls-rprx-vision, который убирает двойное шифрование для данных, уже защищённых TLS. - WebSocket и HTTPUpgrade — соединение начинается как HTTP-запрос и переключается в двунаправленный поток; проходит через обратные прокси и CDN.
- gRPC — поток оформлен как вызов gRPC поверх HTTP/2.
- XHTTP — трафик разложен на обычные HTTP-запросы и ответы; о нём ниже.
Почему для сети это HTTPS
Для оборудования оператора соединение VLESS с транспортом XHTTP или WebSocket выглядит как работа браузера с сайтом: тот же порт 443, тот же TLS с настоящим сертификатом на настоящем домене, внутри — HTTP-запросы. Отдельного протокола с узнаваемым заголовком, как у UDP-туннелей, здесь нет. Поэтому VLESS одинаково стабилен в домашней сети, в мобильной и в гостевом Wi-Fi отеля, где пропускают только веб-трафик по TCP.
Готовая подписка для Happ за минуту
Свой сервер не нужен. Оформите пробный доступ на 3 дня — на e-mail придёт ссылка, а на странице настройки одна кнопка «Добавить в Happ» создаст профиль «MUHOMOR 🍄». Без карты и автосписаний, до 5 устройств.
Получить подписку для HappЧто такое XHTTP и зачем он нужен
XHTTP — транспорт Xray, прежнее название SplitHTTP. Идея в том, чтобы не держать одно длинное соединение, а передавать данные так, как это делает веб-приложение: отдельными HTTP-запросами и ответами. Данные от клиента к серверу уходят в теле POST-запросов, данные от сервера к клиенту приходят как длинный потоковый ответ на GET-запрос, который сервер отдаёт частями и запрещает кешировать. Обе половины связаны общим идентификатором сессии в пути запроса.
У транспорта несколько режимов. В packet-up каждая порция данных от клиента — отдельный POST с порядковым номером, чтобы сервер собрал их в правильной последовательности; это самый совместимый вариант, он проходит даже через CDN, которые буферизуют запросы. В stream-up клиент отправляет один непрерывный POST, а ответ получает по параллельному GET. В stream-one запрос и ответ идут в одном соединении. Режим auto оставляет выбор клиенту. XHTTP работает поверх HTTP/1.1, HTTP/2 и HTTP/3, причём клиент может говорить по HTTP/3 через QUIC, а сервер принимать только TCP: промежуточный прокси или CDN сам понизит версию.
Зачем такая сложность? Во-первых, XHTTP спокойно проходит через обратные прокси вроде nginx или Caddy и через CDN, поэтому один домен может одновременно отдавать обычный сайт и обслуживать туннель по отдельному пути. Во-вторых, для сети такой трафик — серия независимых запросов к сайту, а не единый непрерывный шифрованный поток. В-третьих, транспорт умеет добавлять случайное дополнение к заголовкам, чтобы размеры запросов не повторялись. Цена — больше служебных данных, чем у чистого TCP, но для видео и звонков запаса хватает. Именно XHTTP поверх TLS использует Muhomor VPN в подписке для Happ.
Чем VLESS отличается от WireGuard
Оба протокола шифруют трафик и скрывают ваш IP-адрес от сайтов, но устроены по-разному, и различия влияют на выбор устройства, а не только на цифры в тестах скорости.
| Параметр | VLESS (Happ) | WireGuard |
|---|---|---|
| Транспорт | TCP, обычно порт 443; поверх TLS через XHTTP, WebSocket или gRPC | Только UDP, обычно порт 51820 |
| Шифрование | TLS 1.3, сертификат домена | Собственное: ChaCha20-Poly1305, Curve25519 |
| Идентификация | UUID клиента, общий для всех его устройств | Пара ключей на каждое устройство |
| Как выдаётся доступ | Подписка: ссылка, из которой клиент сам получает и обновляет параметры | Файл .conf или QR-код, отдельный на устройство |
| Устройства | Телефон, планшет, компьютер, Android TV, Apple TV через Happ | То же через приложение WireGuard, плюс роутеры |
| Роутеры | Встроенной поддержки в домашних роутерах нет | Встроен в Keenetic, ASUS, OpenWrt, MikroTik |
| Батарея | Клиент работает в пользовательском пространстве и держит TLS-сессии; расход чуть выше | Реализация в ядре, молчит без трафика; расход минимальный |
| Скорость | Пиковая ниже, служебных данных больше; для видео и звонков достаточно | Выше пропускная способность и ниже задержка при свободном UDP |
| Где стабильнее | В сетях, где UDP ограничен или пропускают только веб-трафик | На линиях без ограничений UDP |
| Что видит сеть | HTTPS-соединение с сайтом | UDP-поток с узнаваемой структурой пакетов |
Практический вывод простой. Для роутера — WireGuard: он есть в прошивке, защищает трафик всех домашних устройств и не требует стороннего клиента; инструкции собраны в статье VPN для роутера. Для телефона, компьютера и телевизора удобнее Happ с VLESS: подписка ставится одной кнопкой, обновляется сама и работает в любой сети, где открыт обычный веб. Расход батареи у WireGuard ниже, но на современном телефоне разница за день невелика — подробнее в материале о VPN и расходе батареи. Развёрнутое сравнение с рекомендациями по устройствам — в статье Happ или WireGuard.
Какие клиенты поддерживают VLESS
VLESS понимает любой клиент на ядре Xray-core или совместимом с ним. Список клиентов ведёт сам проект Xray; среди них:
- Happ — бесплатное приложение для iOS и iPadOS, macOS, Windows, Linux, Android, Android TV и Apple TV. Работает на Xray-core, поддерживает VLESS, VMess, Trojan, Shadowsocks, SOCKS5 и Hysteria2, умеет подписки, QR-коды и ссылки happ://, имеет русскую локализацию и маршрутизацию Happ Routing. WireGuard в Happ нет.
- v2rayN — клиент для Windows с графическим интерфейсом.
- v2rayNG — клиент для Android.
- Streisand — клиент для iOS и macOS.
- Xray-core как консольная программа — для серверов и Linux-машин, где графический интерфейс не нужен.
Между клиентами ключи переносятся без изменений: формат ссылки vless:// стандартизирован в проекте Xray, и одна и та же строка подходит любому из них. Отдельная история — роутеры. В домашних прошивках Keenetic, ASUS и MikroTik клиента VLESS нет; на OpenWrt ядро Xray можно поставить отдельным пакетом, но настраивать его придётся руками, без мастера, как у WireGuard. Поэтому для роутера правильный выбор всё же WireGuard.
Muhomor VPN рекомендует Happ: у него есть версии для всех платформ, включая телевизоры, а подписка добавляется одной кнопкой со страницы настройки. Официальные ссылки на установку для каждой системы собраны в статье как скачать Happ.
Как Muhomor VPN использует VLESS для Happ
Подписка Happ у Muhomor VPN технически — одна ссылка vless:// с транспортом XHTTP поверх TLS на домене сервиса. Параметр flow пустой, Reality не используется: подлинность сервера подтверждает обычный сертификат домена. Точка входа расположена в России, выходной сервер — в Европе; для сети трафик выглядит как HTTPS-соединение с сайтом, поэтому подключение стабильно и дома, и в мобильной сети, и в публичном Wi-Fi.
Клиент получает не отдельный ключ, а подписку. Это веб-ссылка, из которой Happ читает название профиля, срок действия, интервал обновления и параметры подключения; приложение проверяет её каждые 12 часов. Если сервис меняет параметры сервера, у клиента всё обновляется само; при продлении доступа ничего переустанавливать не нужно. Одна подписка работает на всех устройствах клиента, до пяти. Чем ключ отличается от подписки и как устроена ссылка — в статье VLESS-ключ.
- Оформите пробный доступ на главной: 3 дня, без карты и автосписаний, нужен только e-mail. Подробности — в статье про пробный VPN.
- Откройте письмо и перейдите по ссылке доступа вида muhomorvpn.ru/go/КОД. Сверху страницы выберите «Happ», затем вкладку под своё устройство: iPhone, Android, Компьютер или ТВ.
- Установите Happ по официальной ссылке и нажмите «Добавить в Happ». Приложение откроется, и в списке появится профиль «MUHOMOR 🍄». Запасной путь — кнопка «Скопировать», затем в Happ «+» → «Добавить из буфера обмена».
- Нажмите кнопку подключения. Дальше Happ можно не открывать: подписка обновляется сама.
Второй способ подключения на том же доступе — WireGuard с файлом .conf, он нужен для роутеров. Если один из способов в вашей сети не подключается, второй доступен без доплаты. Что делать с подпиской на разных устройствах — в статье подписка Happ.
Мифы и вопросы о VLESS
«VLESS ничего не шифрует, значит, он небезопасен»
У протокола нет собственного шифра, но вне доверенных сетей он и не работает без TLS: документация Xray прямо этого требует. Ваш трафик защищён TLS 1.3, тем же механизмом, на котором держатся банковские сайты и почта. Правда в другом: сервер, к которому вы подключаетесь, расшифровывает трафик и видит, куда идут соединения, как и при любом VPN. Поэтому доверие к провайдеру важнее названия протокола.
«VLESS медленнее WireGuard»
В пиковой пропускной способности — да: у WireGuard меньше служебных данных, а шифрование выполняется в ядре. VLESS работает поверх TCP, и когда внутри туннеля тоже идёт TCP, два уровня подтверждений и повторных передач иногда мешают друг другу. На практике для сайтов, видео в высоком разрешении и звонков разницы вы не заметите. Заметите, если сеть ограничивает UDP: тогда WireGuard будет рваться, а VLESS продолжит работать.
«VLESS — это и есть VPN»
Нет, это прокси-протокол. Туннель с системным интерфейсом создаёт приложение, а VLESS отвечает за доставку данных до сервера. Различие разобрано в статье VPN или прокси.
«Без Reality и Vision VLESS не работает»
Reality и XTLS Vision — необязательные надстройки для транспорта TCP. С XHTTP они не используются: сервер работает с обычным сертификатом своего домена, и это полноценная рабочая конфигурация.
«Ключ VLESS можно вставить в приложение WireGuard»
Нельзя: WireGuard читает только файлы .conf со своими ключами, а Happ, наоборот, не понимает .conf. Это разные протоколы с разными клиентами, поэтому на странице настройки Muhomor VPN два отдельных раздела.
Попробуйте Muhomor VPN — 3 дня бесплатно
Ссылка доступа придёт на e-mail за минуту: добавьте её в Happ одной кнопкой или скачайте конфиг WireGuard. Без карты и автосписаний, до 5 устройств на одном доступе.
Частые вопросы
VLESS — это VPN или прокси?
Прокси-протокол из экосистемы Xray: он доставляет данные до сервера и указывает, куда их направить. Системный VPN-туннель создаёт приложение, например Happ, а VLESS работает внутри него.
Безопасен ли VLESS, если у него нет своего шифрования?
Да, при работе поверх TLS, как и требует документация Xray. Трафик защищён TLS 1.3, тем же механизмом, что и на банковских сайтах; UUID при этом храните как пароль.
VLESS медленнее WireGuard?
По пиковой скорости WireGuard быстрее: меньше служебных данных и шифрование в ядре. Для сайтов, видео и звонков разница незаметна, а в сетях с ограниченным UDP VLESS стабильнее.
Что такое XHTTP в VLESS?
Транспорт Xray, прежде называвшийся SplitHTTP: данные передаются обычными HTTP-запросами и ответами поверх TLS, поэтому проходят через прокси и CDN и выглядят для сети как работа с сайтом.
Чем VLESS отличается от VMess?
VLESS легче: у него нет встроенного шифрования и зависимости от системного времени, всю защиту даёт TLS. VMess старше, шифрует сам и требует точных часов на устройстве.
Какое приложение нужно для VLESS?
Любой клиент на Xray-core: Happ для iPhone, Android, Windows, macOS, Linux и телевизоров, v2rayN для Windows, v2rayNG для Android, Streisand для iOS. Muhomor VPN выдаёт подписку для Happ.