VLESS в Happ: параметры, настройка, когда выбирать
- Автор
- Екатерина Лебедева, редактор раздела knowledge base
- Проверил:
- Артём Волков
- Проверено:
- Опубликовано:
- , обновлено
- Версия гайда:
- 1.0
Коротко
VLESS VPN в Happ — это подключение к собственному серверу Xray по протоколу VLESS: ключ vless:// с UUID, адресом сервера и параметрами TLS или Reality добавляется из буфера обмена, QR-кода или подписки.
VLESS только проверяет UUID клиента и передаёт данные, а шифрование выполняет слой TLS или Reality. Happ поддерживает VLESS с транспортами TCP, WebSocket, gRPC и XHTTP. Самая распространённая схема — Reality поверх TCP с flow xtls-rprx-vision и отпечатком fp=chrome. Если ссылка повреждена, Happ сообщает об ошибке вида «Конфигурация vless не валидная»; чаще всего причина в обрезанном ключе pbk или лишнем символе при копировании.
VLESS — VLESS — лёгкий протокол прокси из экосистемы Xray-core: сервер проверяет клиента по UUID, а защиту канала обеспечивает слой TLS или Reality, а не сам протокол. В Happ сервер VLESS добавляется ссылкой vless://, QR-кодом, диплинком, подпиской или вручную.
Как устроен VLESS
VLESS появился в проекте Xray как облегчённая замена VMess. В нём нет встроенного шифрования и привязки ко времени, поэтому сервер тратит меньше ресурсов, а подключение не зависит от точности часов.
Happ работает на Xray-core и принимает VLESS в любом распространённом варианте: от TCP с обычным TLS до Reality с flow Vision. Своих серверов у Happ нет — ссылку vless:// выдаёт владелец сервера или провайдер.
Ссылка VLESS содержит всё для подключения: UUID, адрес и порт, транспорт, тип защиты и его параметры, а после знака # — имя сервера длиной до 30 символов.
Если на сервере сменили UUID или ключ Reality, старая ссылка перестаёт подключаться, а пинг через прокси показывает «Тайм-аут». Поможет обновление подписки или повторный импорт новой ссылки.
Формат ссылки
Схемы ссылок: vless:////. Пример ниже — с условными значениями, для подключения нужны данные вашего сервера.
vless://00000000-0000-0000-0000-000000000000@example.com:443?encryption=none&security=reality&pbk=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&headerType=none&fp=chrome&type=tcp&flow=xtls-rprx-vision&sni=example.com&sid=0123abcd#ExampleТранспорт и шифрование
| Параметр | Значения |
|---|---|
| Транспорт | TCP (raw), WebSocket (ws), gRPC, XHTTP |
| Защита | none — без защиты, только для проверки в доверенной сети, tls — сертификат на домене сервера, reality — TLS 1.3 с проверкой сервера по ключу x25519, без собственного сертификата, flow xtls-rprx-vision — режим для TCP с TLS или Reality |
Параметры конфигурации
| Параметр | Описание | Пример |
|---|---|---|
| UUID | Идентификатор пользователя перед @. Сервер пропускает только клиентов с известным ему UUID. | 00000000-0000-0000-0000-000000000000 |
| адрес и порт | Домен или IP сервера и порт после двоеточия. Для TLS и Reality обычно используют 443. | example.com:443 |
| encryption | Шифрование на уровне VLESS; в ссылках указывается none, защиту выполняет слой security. | encryption=none |
| security | Слой защиты канала: none, tls или reality. | security=reality |
| type | Транспорт: tcp, ws, grpc или xhttp. Должен совпадать с настройкой сервера. | type=tcp |
| flow | Режим Vision для TCP с TLS или Reality; для других транспортов параметр не указывают. | flow=xtls-rprx-vision |
| sni | Имя сервера в TLS-рукопожатии. Для Reality — домен из списка serverNames в настройках сервера. | sni=example.com |
| fp | Отпечаток TLS-клиента (uTLS): chrome, firefox, safari, ios, randomized. Для Reality обязателен. | fp=chrome |
| pbk | Публичный ключ x25519 сервера Reality, строка из 43 символов. | pbk=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA |
| sid | Короткий идентификатор Reality (shortId): шестнадцатеричная строка до 16 символов из списка на сервере. | sid=0123abcd |
| path и host | Путь и заголовок Host для транспортов ws и xhttp; спецсимволы кодируются процентным кодированием. | path=%2Fws&host=example.com |
| serviceName | Имя сервиса для транспорта gRPC. | serviceName=grpc |
| mode | Режим транспорта XHTTP: auto, packet-up, stream-up или stream-one. | mode=auto |
| fragment | Разбиение TLS ClientHello: длина частей, интервал между ними в миллисекундах и какие пакеты делить. Настройка стабильности TLS-соединения. | fragment=1-10,5-20,tlshello |
| serverDescription | Описание сервера в base64, которое Happ показывает рядом с именем. | serverDescription=RXhhbXBsZQ== |
| # имя | Имя сервера в списке, до 30 символов, после знака #. | #Example |
Сильные стороны
- Минимальные накладные расходы: поверх TLS нет второго слоя шифрования.
- Не зависит от точности системных часов, в отличие от VMess.
- Поддерживает Reality: серверу не нужны собственный домен и сертификат.
- Большой выбор транспортов: TCP, WebSocket, gRPC и XHTTP.
Ограничения
- Без TLS или Reality трафик VLESS не зашифрован, поэтому security=none подходит только для проверки.
- Длинная ссылка с множеством параметров: одна ошибка в pbk, sid или sni — и подключения нет.
- Flow Vision совместим только с TCP; для ws и grpc его приходится убирать.
- Reality не работает через CDN: клиент подключается к IP сервера напрямую.
Когда выбирать VLESS
Выбирайте VLESS с Reality и Vision, когда у вас собственный сервер с прямым IP и нужен быстрый стабильный канал без покупки домена.
VLESS с TLS поверх WebSocket, gRPC или XHTTP подходит, когда сервер стоит за CDN или обратным прокси и делит порт 443 с сайтом.
Если подписку выдаёт провайдер, протокол уже выбран за вас. Тогда достаточно понимать параметры ссылки, чтобы отличить ошибку копирования от проблемы на сервере.
Сравнение с другими протоколами
| Протокол | Отличие |
|---|---|
| VMess | VMess шифрует данные сам и требует, чтобы часы клиента и сервера расходились не больше чем на 120 секунд. VLESS легче, к времени не привязан, а безопасность получает от TLS или Reality. |
| Trojan | Trojan тоже опирается на TLS и проверяет клиента по паролю, но flow xtls-rprx-vision доступен только в VLESS. Trojan проще, VLESS гибче в выборе режима защиты. |
| Hysteria2 | Hysteria2 работает на QUIC поверх UDP и выигрывает на каналах с потерями. VLESS по TCP надёжнее там, где сеть отбрасывает UDP или обращается с ним нестабильно. |
Главное
- VLESS проверяет клиента по UUID и в обычных ссылках не шифрует данные сам (encryption=none): защиту даёт TLS или Reality. Необязательное шифрование VLESS Encryption появилось в новых версиях Xray-core, о его поддержке в Happ документация не пишет.
- Reality не требует собственного домена и сертификата: клиент проверяет сервер по публичному ключу pbk и короткому идентификатору sid.
- Flow xtls-rprx-vision работает только с транспортом TCP и слоем TLS или Reality; для WebSocket и gRPC его не указывают.
- Happ принимает VLESS из ссылки vless://, QR-кода, диплинка, подписки и через ручной ввод по кнопке «+».
- Параметр fragment в ссылке делит TLS ClientHello на части и служит настройкой стабильности TLS-соединения.
Частые вопросы
Что такое ключ VLESS для Happ и как его добавить?
Ключ VLESS — это ссылка vless://, в которой записаны UUID, адрес сервера и параметры защиты. Скопируйте её целиком и импортируйте в Happ из буфера обмена, отсканируйте QR-код или откройте диплинк. Если у вас подписка, серверы VLESS появятся в списке после её добавления. Вручную: кнопка «+» вверху справа, «Ручной ввод», протокол VLESS, заполнение полей и «Готово».
Нужен ли Reality, если у сервера уже есть домен и сертификат?
Нет. VLESS с обычным TLS работает с доменом и сертификатом, например от Let's Encrypt, а с транспортом WebSocket, gRPC или XHTTP такая схема работает и через CDN или обратный прокси. Reality выбирают, когда домена нет или не хочется обслуживать сертификат: клиент проверяет сервер по ключу pbk. Решение принимает администратор сервера, а клиенту достаточно, чтобы параметры ссылки совпадали с настройками сервера.
Почему Happ не принимает ссылку vless:// при импорте?
Happ показывает ошибку вида «Конфигурация vless не валидная», если ссылка обрезана или содержит лишние символы. Частые причины: мессенджер разбил длинную строку переносом, пропала часть ключа pbk, пробелы в имени после # не закодированы, в буфер вместе со ссылкой попал окружающий текст. Скопируйте ссылку заново из исходного источника или используйте QR-код.
Можно ли указать flow xtls-rprx-vision для WebSocket или gRPC?
Нет. Vision рассчитан на транспорт TCP со слоем TLS или Reality: он обрабатывает TLS-записи вложенного соединения, а в кадрах WebSocket или gRPC это невозможно. Для type=ws и type=grpc параметр flow оставляют пустым. Значение flow должно совпадать с настройкой пользователя на сервере: если сервер ждёт Vision, а клиент подключается без него, или наоборот, соединение отклоняется.
Что означает параметр fp в ссылке VLESS?
fp задаёт отпечаток TLS-клиента, то есть набор расширений и шифров, с которым Xray-core формирует приветствие ClientHello. Значения chrome, firefox, safari, ios или randomized повторяют поведение соответствующих браузеров и систем. Для Reality отпечаток обязателен, для обычного TLS желателен. Обычно используют значение, которое выдал администратор сервера, и не меняют его без причины.
Когда выбирать XHTTP вместо TCP?
XHTTP передаёт данные HTTP-запросами и подходит, когда сервер стоит за CDN или обратным прокси вроде nginx, который принимает обычный HTTP-трафик. Он работает и с TLS, и с Reality, а режим задаётся параметром mode. Прямое TCP-подключение с Vision проще и обычно быстрее, поэтому XHTTP выбирают, когда серверу нужно делить порт 443 с сайтом или работать через промежуточный HTTP-узел.
Шифрует ли VLESS трафик, если в ссылке encryption=none?
encryption=none означает, что сам протокол VLESS не добавляет шифрование. Данные при этом защищены, если в ссылке security=tls или security=reality: канал до сервера шифрует TLS, а в случае Reality — только TLS 1.3. Без защиты трафик остаётся лишь при security=none. Такой вариант годится для проверки сервера в локальной сети, но не для работы через интернет.
Как перенести сервер VLESS на другое устройство?
Если подписка не зашифрована и не скрыта, смахните сервер вправо и нажмите иконку со стрелкой: Happ предложит «В буфер обмена», «QR-код» или «JSON». QR-код удобно отсканировать вторым телефоном, а ссылку из буфера вставить на компьютере. В зашифрованной подписке поделиться отдельным сервером нельзя, поэтому на новом устройстве добавьте саму подписку.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Happ: примеры ссылок и параметры — обращение 27 сентября 2026
- Документация Happ: добавление конфигурации и подписки — обращение 27 сентября 2026
- Документация Happ: ошибки — обращение 27 сентября 2026
- Документация Xray: VLESS — обращение 28 сентября 2026