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-кодом, диплинком или через подписку. Различия начинаются внутри протокола: как он проверяет клиента и что ему для этого нужно от сервера.
| Параметр | VLESS | Trojan |
|---|---|---|
| Проверка клиента | UUID в заголовке | пароль, сервер сверяет его хэш SHA-224 |
| Собственное шифрование | нет в обычных ссылках (encryption=none) | нет вовсе |
| Обязательность TLS | нет — можно Reality вместо TLS | да, TLS обязателен по документации Xray |
| Reality | есть, замена TLS без домена | не описана в документации Xray для Trojan |
| XTLS Vision | есть, для TCP с TLS или Reality | не описан для Trojan |
| Нужен домен и сертификат | нет при Reality, да при обычном TLS | да, всегда |
| Транспорты в Happ | TCP, WebSocket, gRPC, XHTTP | TCP, 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
- Обновите подписку, чтобы видеть актуальный список серверов обоих протоколов.
- Подключитесь сначала к серверу VLESS, затем к серверу Trojan, и в каждом случае нажмите «Проверить текущее соединение».
- Если один из протоколов показывает ошибку TLS-рукопожатия, для Trojan первым делом проверьте срок действия сертификата и совпадение sni с доменом сервера.
- Для 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-трафик сайтов, но на скорость самого соединения с сервером это влияет слабо. Сильнее на ощущаемую скорость влияют канал сервера и маршрут до него, а не выбор между этими двумя протоколами.
Упомянутые темы
Похожие материалы
Разделы по теме
Источники
- Документация Xray: исходящее подключение VLESS — обращение 28 сентября 2026
- Документация Xray: исходящее подключение Trojan — обращение 28 сентября 2026
- Документация Happ: примеры ссылок и параметры — обращение 28 сентября 2026
- Документация Happ: добавление конфигурации и подписки — обращение 28 сентября 2026