Happ VPN

VLESS или Trojan: сравнение протоколов

Автор
Екатерина Лебедева, редактор раздела knowledge base
Проверил:
Артём Волков
Проверено:
Опубликовано:
, обновлено
Версия гайда:
1.0

Коротко

Если у сервера нет домена, в Happ обычно выбирают VLESS с Reality: сертификат не нужен, а клиента проверяет публичный ключ. Если домен и сертификат уже есть, Trojan даёт то же самое проще: только пароль и TLS, без UUID и параметров Reality.

VLESS и Trojan в Happ работают через Xray-core и в большинстве сценариев защищены TLS, но проверяют клиента по-разному: VLESS — по UUID, Trojan — по паролю. У VLESS есть необязательный режим Reality без домена и сертификата и режим XTLS Vision для TCP; у Trojan по документации Xray таких режимов нет, поэтому серверу нужен настоящий домен с сертификатом. На практике выбор чаще определяет не протокол, а то, что уже есть у сервера: домен или голый IP.

Сравнение по 12 параметрам

VLESS и Trojan в Happ добавляются одинаково — ссылкой, QR-кодом, диплинком или через подписку. Различия начинаются внутри протокола: как он проверяет клиента и что ему для этого нужно от сервера.

ПараметрVLESSTrojan
Проверка клиентаUUID в заголовкепароль, сервер сверяет его хэш SHA-224
Собственное шифрованиенет в обычных ссылках (encryption=none)нет вовсе
Обязательность TLSнет — можно Reality вместо TLSда, TLS обязателен по документации Xray
Realityесть, замена TLS без доменане описана в документации Xray для Trojan
XTLS Visionесть, для TCP с TLS или Realityне описан для Trojan
Нужен домен и сертификатнет при Reality, да при обычном TLSда, всегда
Транспорты в HappTCP, WebSocket, gRPC, XHTTPTCP, WebSocket, gRPC
Fallback на резервный сайтне описан как часть протоколаесть: соединения без пароля уходят на веб-сервер
Формат ссылкиvless://UUID@host:port?параметры#имяtrojan://пароль@host:port?параметры#имя
Спецсимволы в ключеUUID — фиксированный формат, кодировать нечегопароль кодируется процентным кодированием
Частая причина отказаpbk, sid, sni или flow не совпадают с серверомсертификат истёк, sni не совпадает с доменом
Добавление в Happссылка, QR-код, диплинк, подписка, «Ручной ввод»так же

Данные сверены 28 сентября 2026 по документации Xray на xtls.github.io и документации Happ. Полные списки параметров ссылок — на страницах VLESS в Happ и Trojan в Happ.

Чем отличаются на практике

Что нужно от сервера

Это главное практическое различие. Trojan по документации Xray требует настоящий домен и действительный сертификат TLS: без них протокол не подключится, а самоподписанный сертификат заставляет клиента отключать проверку подлинности сервера. VLESS с обычным TLS требует того же самого.

Если домена нет и заводить его не хочется, у VLESS есть альтернатива — Reality: клиент проверяет сервер по публичному ключу, а не по сертификату, и сервер работает прямо по IP-адресу. У Trojan в документации Xray такой альтернативы TLS нет.

Диагностика при отказе

Ошибки двух протоколов выглядят по-разному. У Trojan почти любой сбой TLS сводится к сертификату или дате устройства — это разбирает страница ошибки TLS-рукопожатия. У VLESS с Reality причина чаще в параметрах pbk, sid или sni, которые должны буква в букву совпадать с настройками сервера; TLS-рукопожатие как таковое в схеме Reality устроено иначе, чем при обычном сертификате.

Нагрузка и режим Vision

VLESS с режимом Vision не шифрует повторно трафик сайтов, который уже защищён HTTPS клиента. У Trojan такого режима нет: весь трафик внутри TLS-туннеля шифруется дважды, если внутри идёт HTTPS. На современных устройствах с аппаратным ускорением AES разница малозаметна, но на слабых процессорах Vision снижает нагрузку сильнее.

Порт 443 и совместное использование с сайтом

Оба протокола умеют делить порт 443 с обычным сайтом, но по-разному. Trojan на уровне протокола отдаёт соединения без верного пароля резервному веб-серверу — это описано в документации Xray как fallback. VLESS с Reality вместо этого использует TLS-рукопожатие настоящего сайта-донора: сервер Reality не хранит свой сайт, а лишь повторяет чужое рукопожатие для тех, кто подключился без верных параметров.

Кому что подходит

VLESS подойдёт, если:

  • у сервера нет своего домена, и вы не хотите отдельно выпускать и продлевать сертификат;
  • нужен режим Vision и минимальная лишняя нагрузка на устройство;
  • сервер уже настроен под Reality, и провайдер выдал именно такую ссылку.

Trojan разумно оставить или выбрать, если:

  • у сервера уже есть домен и рабочий сертификат, например от Let's Encrypt;
  • нужен предельно простой протокол без UUID и параметров TLS-отпечатка;
  • на порту 443 должен по-настоящему открываться сайт для тех, кто подключился без пароля.

Если в подписке есть оба варианта, переключайтесь между ними как между равноценными серверами: ошибка на одном протоколе не означает проблему с самим Happ.

Как проверить оба варианта в Happ

  1. Обновите подписку, чтобы видеть актуальный список серверов обоих протоколов.
  2. Подключитесь сначала к серверу VLESS, затем к серверу Trojan, и в каждом случае нажмите «Проверить текущее соединение».
  3. Если один из протоколов показывает ошибку TLS-рукопожатия, для Trojan первым делом проверьте срок действия сертификата и совпадение sni с доменом сервера.
  4. Для VLESS с Reality при ошибке сверьте параметры pbk и sid со значениями, которые выдал провайдер: опечатка в любом из них ломает подключение так же, как истёкший сертификат у Trojan.

Если после проверки оба протокола отказываются подключаться одинаково, вероятнее проблема на уровне сети или устройства, а не в конкретном протоколе — например, неверное системное время. Сравнение VLESS с протоколом на другом транспорте — на странице VLESS или VMess.

Главное

  • VLESS проверяет клиента по UUID, Trojan — по паролю, из которого сервер вычисляет хэш SHA-224.
  • У VLESS есть режим Reality без домена и сертификата; Trojan по документации Xray работает только с обычным TLS и настоящим сертификатом.
  • Режим XTLS Vision снижает накладные расходы TLS только у VLESS; для Trojan Xray его не описывает.
  • Trojan умеет отдавать соединения без верного пароля на резервный веб-сервер (fallback); у VLESS такой встроенной функции протокола нет.
  • Оба протокола в Happ добавляются одинаково: ссылкой, QR-кодом, диплинком, подпиской или через «Ручной ввод».

Частые вопросы

Можно ли настроить Trojan с Reality вместо обычного TLS?

По документации Xray-core у исходящего Trojan описан только слой TLS: раздел про Trojan прямо требует TLS-безопасность транспорта, а Reality среди его параметров не упомянута. Reality в документации Xray описана как часть VLESS. Если провайдер прислал ссылку trojan:// с параметром security=reality, стоит уточнить у него формат: скорее всего, это опечатка или нестандартная сборка сервера.

Почему у Trojan на 443 порту иногда открывается обычный сайт?

Это работает по замыслу протокола: сервер Trojan может отдавать соединения без верного пароля на резервный веб-сервер, обычно с обычным сайтом. Так на одном порту 443 совмещаются сайт и прокси-вход. Для Happ это ничего не меняет: с верным паролем в ссылке подключение идёт в прокси, а не на сайт. Если вместо прокси видите страницу сайта, скорее всего в ссылке ошибка в пароле.

Что делать, если и VLESS, и Trojan в одной подписке показывают ошибку TLS-рукопожатия?

Сначала проверьте дату и время на устройстве: неверные часы делают сертификат сервера недействительным для обоих протоколов сразу. Затем сравните sni в ссылке с доменом, на который выпущен сертификат. Если ошибка только у Trojan, а VLESS с Reality подключается, дело именно в сертификате Trojan-сервера — он мог истечь или относиться к другому домену.

Нужен ли UUID для Trojan, как для VLESS?

Нет. Trojan проверяет клиента только по паролю, который указывается перед адресом сервера в ссылке trojan://. UUID — это параметр протокола VLESS, у Trojan его вообще нет в конфигурации. Если провайдер прислал для Trojan строку, похожую на UUID, скорее всего это сам пароль в таком формате — его тоже вставляют в поле пароля, а не UUID.

Отличается ли скорость подключения VLESS и Trojan в Happ на глаз?

На одном канале разница обычно не заметна: оба поверх TLS добавляют одно рукопожатие и одно шифрование. Режим XTLS Vision у VLESS может снизить нагрузку на HTTPS-трафик сайтов, но на скорость самого соединения с сервером это влияет слабо. Сильнее на ощущаемую скорость влияют канал сервера и маршрут до него, а не выбор между этими двумя протоколами.

Упомянутые темы

Разделы по теме

Источники

  1. Документация Xray: исходящее подключение VLESS — обращение 28 сентября 2026
  2. Документация Xray: исходящее подключение Trojan — обращение 28 сентября 2026
  3. Документация Happ: примеры ссылок и параметры — обращение 28 сентября 2026
  4. Документация Happ: добавление конфигурации и подписки — обращение 28 сентября 2026