VLESS или Trojan — какой протокол лучше использовать сегодня?
Оба варианта поддерживаются Xray.
Оба можно использовать в HAPP.
Оба умеют работать с современными transport methods.
И в большинстве обычных пользовательских сценариев оба способны обеспечить:
- высокую скорость;
- стабильное соединение;
- TCP и UDP трафик;
- работу через системный TUN;
- несколько серверных локаций.
Поэтому ответ:
VLESS всегда быстрее Trojan
или:
Trojan всегда надёжнее VLESS
был бы слишком упрощённым.
В современной экосистеме Xray итоговое качество соединения зависит не только от proxy protocol.
Большую роль играют:
- сервер;
- маршрут;
- transport;
- TLS или REALITY;
- XHTTP;
- настройки Xray;
- клиентское приложение.
Но между VLESS и Trojan всё же есть важные архитектурные различия.
Разберём их по порядку.
Короткий ответ
Если создаётся новая современная Xray инфраструктура, я бы в большинстве случаев выбирал VLESS.
Причины:
- VLESS является одним из основных протоколов самого Xray;
- поддерживает XTLS Vision;
- имеет собственный
flow; - работает с REALITY;
- поддерживает XHTTP;
- получил отдельный механизм VLESS Encryption;
- активно развивается вместе с Xray.
Trojan при этом вовсе не устарел.
Он остаётся рабочим протоколом и может быть хорошим вариантом, если:
- уже существует стабильная Trojan инфраструктура;
- клиентская база хорошо его поддерживает;
- используется классическая TLS архитектура;
- нет причины мигрировать работающий сервис.
Для обычного пользователя готовой подписки разница ещё меньше:
если оператор выдал рабочий Trojan сервер — им можно пользоваться.
если оператор выдал VLESS — нет смысла искать Trojan только ради другого названия протокола.
Что такое VLESS
Project X описывает VLESS как:
лёгкий stateless transport protocol между Xray client и server.
Для аутентификации используется ID пользователя — чаще всего UUID.
Упрощённо:
Client
↓
VLESS
↓
Xray server
↓
InternetVLESS сам по себе не определяет весь внешний вид соединения.
Ниже него отдельно настраиваются:
- transport method;
- transport security.
Например:
VLESS
↓
XHTTP
↓
REALITYили:
VLESS
↓
RAW
↓
REALITYили:
VLESS
↓
XHTTP
↓
TLSЧто такое Trojan
Trojan появился с другой исходной идеей.
Классический Trojan строился вокруг настоящего TLS соединения и пытался сделать proxy traffic максимально похожим на обычный HTTPS.
Оригинальный protocol design выглядит примерно так:
TLS handshake
↓
authentication
↓
Trojan request
↓
payloadПосле TLS handshake клиент передавал хэш пароля, запрос назначения и пользовательские данные. При неверной аутентификации сервер мог передать соединение обычному web backend, чтобы при активном сканировании endpoint выглядел как HTTPS сервер.
Именно отсюда появился исторический образ Trojan:
proxy, который выглядит как обычный HTTPS сайт.
Главное отличие: аутентификация
На самом базовом уровне различие довольно простое.
VLESS
Использует:
ID / UUIDВ Xray VLESS user имеет поле:
idи дополнительно может иметь:
flowдля XTLS Vision.
Trojan
Использует:
passwordВ конфигурации Xray Trojan пользователь имеет:
password
email
levelПароль является обязательным параметром.
Значит ли UUID, что VLESS безопаснее пароля
Сам по себе формат credential не даёт такого вывода.
И:
случайный UUIDи:
длинный случайный Trojan passwordмогут иметь огромную энтропию.
Важнее:
- не публиковать credential;
- использовать нормальную transport security;
- правильно настроить сервер.
Поэтому:
UUID безопасный, а password небезопасный
— неверное упрощение.
VLESS не зависит от системного времени
Это одна из особенностей VLESS.
Project X отдельно отмечает, что, в отличие от VMess, VLESS не зависит от времени системы.
Для сравнения именно с Trojan эта особенность не даёт огромного практического преимущества — Trojan тоже не строит свою основную аутентификацию вокруг синхронизации часов.
Но для понимания архитектуры VLESS это полезный факт.
VLESS и Trojan сами по себе не равны шифрованию
Это очень важный момент.
Proxy protocol и transport security — разные уровни.
Современная архитектура Xray выглядит примерно так:
Proxy protocol
↓
Transport method
↓
Transport securityНапример:
VLESS
↓
XHTTP
↓
REALITYили:
Trojan
↓
XHTTP
↓
REALITYXray прямо разделяет эти три уровня в документации transport configuration.
Классический Trojan очень тесно связан с TLS
Изначальная идея Trojan буквально начинается с:
выполнить настоящий TLS handshake.
После этого уже внутри защищённого TLS потока передаётся Trojan request.
И актуальная отдельная страница Trojan в Xray по-прежнему предупреждает, что Trojan для публичного использования должен иметь transport security, а вариант security: none допускается только для доверенной private network.
Но современный Xray умеет Trojan + REALITY
Здесь есть важная современная поправка.
Общая таблица совместимости Xray сейчас показывает:
| Protocol | TLS | REALITY |
|---|---|---|
| VLESS | Да | Да |
| Trojan | Да | Да |
То есть говорить:
Trojan работает только с обычным TLS сертификатом
для актуального Xray уже слишком категорично.
Классическая архитектура Trojan действительно построена вокруг TLS, но Xray вынес transport security в отдельный общий слой и поддерживает Trojan с REALITY.
А что с VLESS без TLS или REALITY
Исторически типичная конфигурация имела:
encryption=noneПоэтому публичный VLESS без внешней transport security не является нормальной схемой.
Project X сейчас прямо предупреждает:
VLESS должен использовать внешний слой transport security, кроме доверенной private network или случая, когда включён VLESS Encryption.
То есть конфигурация:
VLESS
+
никакой защиты
+
публичный интернетне должна рассматриваться как обычный безопасный deployment.
Что такое VLESS Encryption
Это одна из заметных новых возможностей VLESS.
У VLESS появился собственный optional encryption layer.
По умолчанию:
encryption = noneно современный Xray позволяет включить отдельный механизм VLESS Encryption.
Он защищает payload на уровне VLESS и может использоваться даже без внешнего TLS/REALITY.
Но есть важное ограничение.
VLESS Encryption не заменяет маскировку TLS/REALITY
Project X отдельно подчёркивает:
VLESS Encryption защищает payload, но не создаёт внешний вид обычного HTTPS traffic, который дают TLS/REALITY.
Поэтому:
VLESS Encryptionи:
VLESS + REALITYрешают не полностью одинаковые задачи.
Для обычного публичного сервиса REALITY/TLS остаются очень важными.
Что такое XTLS Vision
Вот здесь VLESS получает одно из наиболее заметных технических отличий.
VLESS имеет параметр:
flowи поддерживает:
xtls-rprx-visionProject X описывает Vision как XTLS flow control, который может работать в сочетании:
TCP + TLS/REALITYи оптимизировать передачу уже зашифрованного TLS трафика.
Что даёт Vision
При подходящих условиях Xray способен использовать Linux splice.
Упрощённо вместо:
socket
↓
Xray userspace
↓
memory copy
↓
Xray
↓
socketчасть данных может передаваться на более низком уровне через kernel.
Project X указывает, что это уменьшает:
- memory copying;
- context switching;
- CPU overhead.
Есть ли Vision у Trojan
В текущей конфигурации Xray Trojan пользователь имеет:
password;email;level;
но отдельного VLESS flow поля там нет.
То есть типичная схема:
VLESS + XTLS Visionявляется именно преимуществом VLESS экосистемы.
Trojan при этом способен использовать современные transport/security combinations, включая REALITY, но не тот же VLESS Vision flow.
Значит ли это, что VLESS всегда быстрее Trojan
Нет.
Vision создаёт потенциальные оптимизации в определённых комбинациях.
Но реальная скорость пользователя зависит от:
- CPU;
- сети;
- маршрута;
- RTT;
- дата центра;
- congestion;
- transport.
Если канал ограничен:
100 Мбит/ссам protocol overhead может вообще не иметь практического значения.
Trojan тоже очень лёгкий протокол
Классическая структура Trojan достаточно простая.
После TLS handshake передаётся:
- authentication hash;
- destination;
- payload.
То есть сам Trojan не является каким-то тяжёлым многоуровневым VPN.
Он способен показывать очень высокую производительность.
Поэтому Speedtest не выбирает протокол за вас
Например:
VLESS NL → 300 Мбит/с
Trojan FR → 500 Мбит/сне означает:
Trojan быстрее.
Вы поменяли одновременно:
- protocol;
- сервер;
- страну;
- маршрут.
Для корректного сравнения нужны:
- один VPS;
- один network path;
- одинаковая transport security;
- одинаковый transport.
Transport сегодня зачастую важнее выбора VLESS или Trojan
Это один из главных выводов современной Xray архитектуры.
Текущая compatibility table показывает, что оба протокола поддерживают практически один и тот же набор transport methods:
- RAW;
- XHTTP;
- gRPC;
- WebSocket;
- HTTPUpgrade;
- mKCP;
- Hysteria transport.
Получается:
VLESS + XHTTPи:
Trojan + XHTTPмогут отличаться меньше, чем:
VLESS + RAWи:
VLESS + XHTTP + CDN.Почему это важно
Пользователь часто видит:
этот сервер VLESS, а этот Trojan.
Но на практике один может быть:
VLESS
↓
REALITY
↓
прямой сервера другой:
Trojan
↓
WebSocket
↓
TLS
↓
CDNВы сравниваете не два протокола.
Вы сравниваете две полностью разные сетевые архитектуры.
XHTTP доступен обоим
Да.
Современная таблица Xray отмечает XHTTP как поддерживаемый transport и для:
- VLESS;
- Trojan.
Поэтому XHTTP не является эксклюзивной функцией VLESS.
Это отдельный transport layer.
REALITY тоже не равно VLESS
Это особенно распространённая путаница.
Можно встретить выражение:
протокол VLESS Reality.
В бытовом смысле оно понятно.
Но технически:
VLESS— proxy protocol.
А:
REALITY— transport security.
В современной таблице Xray REALITY совместим не только с VLESS, но и с Trojan.
Почему VLESS + REALITY всё равно встречается намного чаще
Потому что именно вокруг VLESS активно развивалась современная Xray экосистема:
- Vision;
- REALITY;
- XHTTP;
- VLESS Encryption;
- новые flow варианты.
То есть связка:
VLESS + REALITYстала естественным современным выбором для многих операторов.
Но это не означает, что REALITY является частью VLESS.
Как маскируется классический Trojan
Изначальная идея была следующей:
Client
↓
реальный TLS handshake
↓
TrojanПри неправильном запросе сервер мог передавать соединение обычному web backend.
С точки зрения активного probe такой endpoint выглядел как HTTPS service.
Это было одной из главных идей Trojan с самого начала.
Но VLESS тоже имеет fallback
В современном Xray это уже не уникальная функция Trojan.
VLESS inbound поддерживает:
fallbacksTrojan inbound также имеет полноценную поддержку fallback.
То есть аргумент:
Trojan умеет отправлять неправильный traffic на сайт, а VLESS нет
сегодня неверен.
Fallback работает не с любой transport комбинацией
Project X указывает, что fallback относится к определённым TCP+TLS сценариям.
При других transport combinations логика может быть другой.
Поэтому наличие поля fallbacks ещё не означает, что любой XHTTP deployment использует ту же классическую схему.
Внешний вид traffic сегодня определяется несколькими слоями
Очень грубо:
Protocol
+
Transport
+
Transport Security
+
Network behaviorНапример:
VLESS
+
XHTTP
+
REALITYможет иметь совсем другой внешний профиль, чем:
VLESS
+
WebSocket
+
TLSХотя proxy protocol в обоих случаях VLESS.
Поэтому вопрос «какой protocol лучше скрывается» слишком простой
Гораздо корректнее спрашивать:
какая полная server/client configuration используется?
Одно слово:
Trojanили:
VLESSне описывает весь network traffic.
UDP поддерживают оба
Классический Trojan protocol предусматривает не только TCP CONNECT, но и:
UDP ASSOCIATEи отдельный формат передачи UDP datagrams.
VLESS/Xray также умеет передавать UDP traffic.
Поэтому для обычных задач вроде:
- Discord voice;
- игр;
- DNS;
нельзя автоматически утверждать:
Trojan только TCP.
Это неверно.
Но UDP ещё зависит от клиента и transport
Даже если protocol умеет UDP, реальный путь определяется:
- Xray;
- TUN;
- transport;
- routing;
- сервером.
Поэтому проверять нужно конкретную конфигурацию.
Что с играми
Ни VLESS, ни Trojan не гарантируют меньший ping сами по себе.
Для игры важнее:
- серверная локация;
- маршрут;
- packet loss;
- jitter.
Например:
Trojan сервер → 80 мс
VLESS сервер → 45 мсскорее всего VLESS будет лучше.
Но причина может быть просто в более удачном дата центре.
Что с YouTube
Здесь особенно важна стабильная bandwidth.
И VLESS, и Trojan способны нормально обслуживать:
- Full HD;
- 4K;
- большие downloads.
Если один тормозит, сначала проверяйте:
- node;
- server load;
- route;
а уже потом proxy protocol.
Что с Discord
Для voice важнее:
- UDP;
- packet loss;
- latency.
Если:
Trojan nodeдаёт лучший route до Discord, он может работать лучше VLESS.
Если наоборот — VLESS.
Название protocol не определяет geography.
Что с мобильной сетью
То же самое.
Один endpoint может отлично работать через LTE, другой плохо.
Это зависит от:
- operator routing;
- IPv4/IPv6;
- server IP;
- network path.
Нет универсального правила:
Trojan лучше для мобильного интернета.
Что проще настроить
Для классического Trojan TLS схема концептуально довольно понятная:
domain
↓
TLS certificate
↓
password
↓
Trojan serverНо администратор должен правильно настроить:
- TLS;
- certificate;
- SNI;
- web fallback.
VLESS может выглядеть сложнее
Современный профиль способен содержать:
- ID;
- REALITY public key;
- short ID;
- SNI;
- fingerprint;
- flow;
- transport;
- XHTTP settings.
Снаружи такая ссылка выглядит заметно сложнее обычного Trojan URL.
Но для пользователя готовой подписки эта сложность почти исчезает.
Пользователь HAPP ничего из этого вручную вводить не обязан
HAPP поддерживает и VLESS, и Trojan.
Официальная документация клиента перечисляет оба protocol type и позволяет импортировать:
vless://и:
trojan://через:
- clipboard;
- QR;
- subscription.
То есть для пользователя интерфейс практически одинаковый:
импортировал подписку
↓
выбрал сервер
↓
ConnectЗначит для обычного пользователя разница небольшая?
Часто — да.
Если оператор уже всё правильно настроил, пользователь видит:
🇫🇷 Franceи:
🇳🇱 Netherlandsа не архитектуру proxy protocol.
В такой ситуации гораздо полезнее выбрать:
сервер, который работает быстрее и стабильнее.
Нужно ли менять VLESS на Trojan, если VLESS плохо работает
Не первым делом.
Если один VLESS node:
timeoutа другой VLESS node:
работаетпроблема явно не в концепции VLESS.
Проверяйте:
- конкретный сервер;
- IP;
- маршрут.
Когда сравнение другого protocol действительно полезно
Например:
один VPS
один регион
VLESS profile
Trojan profileи вы хотите проверить, как конкретная сеть относится к разным network configurations.
Тогда A/B сравнение уже имеет смысл.
Но transports должны быть сопоставимы
Если:
VLESS → REALITYа:
Trojan → WebSocket + CDNвы опять сравниваете не только protocol.
Для технического теста нужно максимально выровнять остальные параметры.
Что происходит, если пароль Trojan неверный
Trojan server проверяет credential.
В классической specification используется:
SHA224(password)в начале Trojan request.
Если запрос не соответствует ожидаемой структуре или authentication не проходит, классическая схема могла отправить соединение fallback backend.
Xray Trojan также поддерживает fallback при неправильной аутентификации.
Что происходит при неправильном VLESS ID
VLESS server проверяет пользователя по id.
Если пользователь не существует, запрос не будет принят как нормальное VLESS соединение.
В некоторых TCP+TLS конфигурациях Xray также способен использовать fallback.
Пользовательский credential нужно хранить одинаково аккуратно
Неважно, что это:
VLESS UUIDили:
Trojan password.Полная share link является доступом к серверу.
Не публикуйте:
vless://...или:
trojan://...в открытом интернете.
QR код тоже является credential
Если QR содержит:
- VLESS URL;
- Trojan URL;
- subscription URL;
фотография QR фактически копирует доступ.
Не публикуйте её вместе со скриншотом настроек.
VLESS или Trojan с CDN
Оба protocol могут работать с HTTP oriented transport methods.
Текущая таблица Xray показывает поддержку:
- XHTTP;
- WebSocket;
- gRPC;
для обоих.
Поэтому CDN architecture больше зависит от transport, чем от самого VLESS/Trojan.
Например
Можно построить:
VLESS
↓
XHTTP
↓
CDN
↓
Xrayи:
Trojan
↓
XHTTP
↓
CDN
↓
XrayОбе комбинации поддерживаются Xray.
WebSocket тоже доступен обоим
Таблица совместимости Xray также разрешает:
VLESS + WebSocketи:
Trojan + WebSocket.Поэтому WebSocket не является специфической особенностью одного из двух protocol.
А REALITY нельзя использовать с WebSocket
Это уже ограничение transport method, а не VLESS/Trojan.
Xray сейчас поддерживает REALITY только с:
- RAW;
- XHTTP;
- gRPC.
WebSocket + REALITY в таблице отмечен как неподдерживаемый.
То есть:
VLESS + WS + REALITYне поддерживается.
И:
Trojan + WS + REALITYтоже.
Это хороший пример роли transport
Ограничение одинаково действует на оба proxy protocol.
Поэтому при проектировании Xray infrastructure часто сначала нужно решить:
transport/security architecture,
а уже затем выбирать VLESS/Trojan.
Что выбрать с REALITY
Если выбор начинается с нуля, VLESS выглядит более естественным вариантом.
Главная причина — возможность использовать:
xtls-rprx-visionи более тесная интеграция с современными VLESS функциями Xray.
Trojan + REALITY технически поддерживается, но не получает VLESS Vision flow.
Что выбрать с обычным TLS
Тут Trojan остаётся совершенно разумным.
Особенно если:
- уже есть domain;
- certificate;
- reverse proxy;
- рабочая инфраструктура.
Не обязательно мигрировать только потому, что VLESS новее.
Нужен ли сертификат
В классической Trojan TLS архитектуре — да, используется настоящий TLS server и нормальная certificate verification является важной частью схемы. Оригинальная документация Trojan прямо рекомендует проверять сертификат и hostname.
Для VLESS deployment конкретные требования зависят уже от выбранной transport security.
Почему REALITY изменил картину
REALITY является отдельной transport security scheme Xray.
Project X описывает её как модификацию TLS, использующую внешний вид и handshake characteristics целевого сайта.
Поэтому современная Xray архитектура больше не сводится к выбору:
VLESS без TLS против Trojan с TLS.
Оба могут использовать современные security layers.
Что лучше сопротивляется блокировкам
Нет честного универсального ответа по одному названию protocol.
Реальный результат зависит от:
- transport;
- security;
- IP сервера;
- network filtering;
- routing.
Например:
публичный IP заблокировансломает доступ независимо от того, находится за ним:
- VLESS;
- Trojan.
Смена protocol не меняет заблокированный IP
Очень важный практический момент.
Если:
203.0.113.10недоступен у провайдера вообще, перенос:
VLESS → Trojanна тот же IP может ничего не изменить.
Сначала нужно понять уровень проблемы.
То же самое с route timeout
Если пакеты до сервера не доходят:
authentication protocol ещё даже не начал работать.
Поэтому менять VLESS на Trojan из-за обычного TCP timeout бессмысленно.
Когда другой protocol реально помогает
Когда фильтрация или middlebox реагируют на:
- конкретный transport;
- handshake;
- traffic pattern.
Но в современном Xray это зачастую означает необходимость менять полную комбинацию, например:
VLESS + один transportна:
Trojan + другой transport/securityА не только одно слово protocol.
VLESS имеет более активное современное развитие в Xray
Это видно хотя бы по текущему набору возможностей:
- Vision;
- VLESS Encryption;
- reverse proxy extensions;
- новые encryption modes.
Текущая документация VLESS заметно крупнее простой схемы id + address.
Поэтому для нового Xray deployment VLESS обычно даёт больше возможностей для дальнейшего развития.
Trojan архитектурно проще
Xray Trojan configuration остаётся очень компактной:
address
port
password
email
levelЭто тоже плюс.
Если не нужны VLESS specific features, простой протокол может быть вполне достаточным.
Простота не означает устаревание
Протокол не обязан иметь двадцать параметров, чтобы быть хорошим.
Если Trojan:
- стабилен;
- поддерживается клиентами;
- даёт хорошую скорость;
- работает в вашей сети,
нет технической необходимости заменять его только ради более длинного списка возможностей VLESS.
Что лучше поддерживается клиентами
Оба давно распространены.
HAPP официально поддерживает:
- VLESS;
- Trojan;
- VMess;
- Shadowsocks;
- Socks;
а актуальная документация также приводит отдельные URL schemes:
vless://
trojan://Для пользователя HAPP совместимость не является решающим различием.
А старые клиенты
Старый клиент может отлично понимать классический Trojan, но не знать:
- новый XHTTP;
- современную VLESS Encryption;
- некоторые новые Xray extensions.
Но это уже вопрос версии core.
С современным HAPP такой legacy вопрос обычно не актуален.
Подписка может содержать оба protocol
Да.
Один subscription list технически может содержать разные типы конфигураций.
Например:
France — VLESS
Netherlands — TrojanHAPP распознаёт оба формата.
Пользователь при этом просто выбирает node.
Есть ли смысл оператору держать оба
Иногда — как технический резерв.
Например:
- основной VLESS;
- альтернативный Trojan.
Но постоянно дублировать каждый сервер двумя protocols тоже не обязательно.
Это:
- усложняет поддержку;
- увеличивает число profiles;
- путает пользователей.
Для массового сервиса проще стандартизировать одну основную схему
Например:
VLESS
+
единый transport/security stackа альтернативные варианты использовать только там, где они реально нужны.
Так проще:
- обновлять;
- мониторить;
- диагностировать.
Что выбрать для своего VPS
Если сервер поднимается сегодня с нуля и используется современный Xray:
VLESS будет моим первым выбором.
Особенно если планируется:
- REALITY;
- Vision;
- XHTTP;
- развитие конфигурации дальше.
Когда я бы выбрал Trojan на новом сервере
Например, если:
- нужна совместимость с существующей Trojan инфраструктурой;
- используемые клиенты уже стандартизированы на Trojan;
- есть конкретная проверенная TLS схема;
- миграция на VLESS ничего практически не даёт.
Тогда Trojan остаётся нормальным решением.
Что выбрать обычному пользователю
Совсем другой ответ.
Если у вас нет своего VPS и VPN сервис уже дал subscription:
не выбирайте protocol по названию.
Проверяйте:
- latency;
- скорость;
- стабильность;
- приложения;
- сеть.
Если Trojan node работает лучше VLESS node — используйте Trojan.
Если VLESS лучше — VLESS.
Пользователь не обязан строить Xray архитектуру
Это работа оператора.
В нормальном готовом сервисе пользователь получает:
subscription
↓
HAPP
↓
server listи выбирает рабочую локацию.
Он не должен каждый день решать:
сегодня я хочу XHTTP packet-up или Trojan TLS.
Как сравнить VLESS и Trojan правильно
Если хочется провести технический тест:
Один сервер
Не разные VPS.
Одинаковая локация
Чтобы не сравнивать geography.
Одинаковая сеть
Один ISP.
Похожие transport/security
Насколько это возможно.
Несколько реальных задач
- browser;
- download;
- upload;
- Discord;
- game.
После этого сравнение имеет смысл.
Что измерять
Не только:
Speedtest download.Полезнее:
- connection time;
- median ping;
- jitter;
- packet loss;
- sustained download;
- стабильность несколько часов;
- CPU сервера.
Особенно если тестируется свой VPS.
Возможное преимущество VLESS Vision видно именно по CPU
В определённых сценариях Vision + splice способны сократить userspace processing.
Project X прямо указывает снижение memory copying и context switching.
На мощном сервере и небольшом количестве пользователей разницу можно вообще не заметить.
На сильно нагруженном node она уже интереснее.
А Trojan может оказаться проще и достаточно быстрым
Если server CPU далёк от предела, теоретическая экономия нескольких операций не обязательно имеет пользовательское значение.
Иногда самая разумная инфраструктура — та, которая:
уже работает и хорошо мониторится.
Ошибки подключения тоже выглядят немного по-разному
У VLESS чаще обсуждаются:
- ID;
- flow;
- transport;
- REALITY parameters.
У Trojan:
- password;
- TLS;
- certificate/SNI;
- transport.
Но в обоих случаях пользовательские симптомы похожи:
- timeout;
- connection reset;
- EOF;
- immediate disconnect.
По тексту ошибки не всегда можно определить protocol без контекста.
Trojan password неверный — сервер может выглядеть как обычный web endpoint
Это было частью первоначальной идеи Trojan.
Неправильный protocol request мог передаваться backend серверу, чтобы active probe не видел отдельный proxy daemon.
Xray Trojan сохранил полноценные fallbacks.
Но VLESS fallback делает похожую задачу
В определённых TLS configurations VLESS также может отправлять неправильный или неавторизованный traffic на fallback destination.
Поэтому это уже не фундаментальное различие сегодняшнего Xray.
Что лучше: пароль или UUID для управления пользователями
Для панели управления разница минимальна.
Можно создать:
User A → VLESS ID
User B → VLESS IDили:
User A → Trojan password
User B → Trojan password.Xray поддерживает массив пользователей для обоих protocols.
Статистика пользователей тоже возможна
Оба user objects имеют:
- email;
- level;
которые можно использовать для идентификации и policy/statistics внутри Xray.
Поэтому для биллинга сам выбор protocol не решает всю систему учёта.
VLESS или Trojan: сравнительная таблица
| Характеристика | VLESS | Trojan |
|---|---|---|
| Поддержка Xray | Да | Да |
| HAPP | Да | Да |
| Аутентификация | ID / UUID | Password |
| Stateless design | Да | Не основное отличие |
| TLS | Да | Да |
| REALITY в текущем Xray | Да | Да |
| XHTTP | Да | Да |
| WebSocket | Да | Да |
| gRPC | Да | Да |
| UDP | Да | Да |
| XTLS Vision | Да | Нет VLESS flow |
| VLESS Encryption | Да | Нет |
| Fallback | Да | Да |
| Классическая HTTPS концепция | Не основная | Да |
| Подходит для новой Xray инфраструктуры | Отлично | Да |
| Legacy compatibility | Высокая | Высокая |
| Простота базового user config | Средняя | Высокая |
Что выбрать по сценариям
Новый Xray сервер
VLESS.
Больше современных возможностей и наиболее естественное направление Xray ecosystem.
Уже есть стабильный Trojan
Можно оставить Trojan.
Нет смысла мигрировать только ради названия.
Нужен REALITY
Оба protocol технически совместимы с REALITY в современной таблице Xray.
Но для новой конфигурации VLESS выглядит интереснее из-за Vision.
Нужен XHTTP
Оба поддерживают XHTTP.
Но VLESS остаётся более распространённым выбором для современной XHTTP/REALITY инфраструктуры.
Нужна классическая TLS схема
Trojan здесь исторически очень органичен.
Но VLESS + TLS тоже является полностью поддерживаемым вариантом.
Нужна максимальная современная функциональность Xray
VLESS.
Главные причины:
- Vision;
- VLESS Encryption;
- активное развитие protocol specific features.
Пользователь готового VPN
Выберите тот сервер, который лучше работает.
Здесь преимущества конкретного route часто намного важнее protocol architecture.
Что не стоит делать
Не нужно:
- менять VLESS на Trojan из-за одного timeout;
- считать Trojan автоматически быстрее;
- считать VLESS автоматически безопаснее;
- называть REALITY частью VLESS;
- считать Trojan только TCP protocol;
- считать XHTTP только VLESS transport;
- менять protocol на том же заблокированном IP и ждать чуда.
Сначала определите реальную причину проблемы.
Если один protocol не работает в конкретной сети
Проверьте:
- Другой node.
- Другой IP.
- Другую сеть.
- Transport.
- Security layer.
И только затем делайте вывод о самом protocol.
Почему это важно
Например:
VLESS server A → timeout
Trojan server B → работаетможет означать:
Trojan лучше.
А может означать:
IP сервера A недоступен.
Это две совершенно разные причины.
Как проверить точнее
Если возможно, разверните оба protocol на одном VPS.
Тогда:
один IP
один дата центр
одна сетьи различий становится значительно меньше.
Только такой тест действительно начинает сравнивать protocol layer.
VLESS.ART и выбор протокола
Для пользователя готовой подписки нет необходимости самостоятельно поднимать:
- Xray server;
- TLS;
- REALITY;
- XHTTP.
VLESS.ART использует готовые VLESS profiles для HAPP и совместимых клиентов с несколькими серверными локациями.
Пользователь получает subscription и выбирает подходящий node.
Посмотреть тарифы:
https://vless.art/#tarif
Если один сервер временно работает хуже, можно переключить локацию без ручного изменения protocol parameters.
Стоит ли искать Trojan сервис вместо VLESS
Если текущий VLESS:
- стабилен;
- быстрый;
- работает на ваших устройствах;
особой причины нет.
Trojan не является «следующей версией» VLESS.
И VLESS не является «новым Trojan».
Это разные proxy protocols, которые современный Xray умеет использовать внутри общей transport architecture.
Стоит ли переходить с Trojan на VLESS
Для пользователя — только если новый сервис или server реально работает лучше.
Для администратора — зависит от целей.
Если нужен:
- Vision;
- современная VLESS Encryption;
- единая VLESS инфраструктура;
миграция имеет смысл.
Если текущий Trojan deployment стабилен и решает все задачи, срочности нет.
Самый важный вывод
Сегодня сравнивать:
VLESS против Trojan
в отрыве от остальной конфигурации уже недостаточно.
Современный Xray позволяет обоим protocol использовать почти одинаковые transport methods, включая XHTTP, gRPC и WebSocket, а общая compatibility table поддерживает TLS и REALITY для обоих.
То есть итоговая схема может отличаться не protocol name, а вот этим:
transport
security
routing
server
network pathИ эти параметры зачастую сильнее влияют на реальную работу.
Итог
Если выбирать VLESS или Trojan для новой Xray инфраструктуры, сегодня я бы чаще выбирал VLESS.
VLESS является лёгким stateless protocol Xray с ID/UUID authentication и имеет ряд возможностей, которых у Trojan нет в той же форме:
flow;- XTLS Vision;
- VLESS Encryption;
- специфические современные extensions.
Trojan использует password authentication и исторически строился вокруг настоящего TLS handshake и идеи выглядеть как обычный HTTPS service. Оригинальная protocol specification предусматривает как TCP CONNECT, так и UDP ASSOCIATE, поэтому представление «Trojan только для TCP» неверно.
Но современный Xray сильно сблизил оба варианта на транспортном уровне.
Оба сейчас могут использовать:
- RAW;
- XHTTP;
- gRPC;
- WebSocket;
- HTTPUpgrade;
- другие поддерживаемые Xray transport methods.
А в текущей таблице transport security и VLESS, и Trojan совместимы с TLS и REALITY.
Поэтому нельзя сводить современный выбор к:
VLESS — один тип traffic.
Trojan — HTTPS.
Реальный внешний профиль определяется всей цепочкой:
proxy protocol
↓
transport
↓
transport security
↓
server/network pathПрактическая рекомендация получается простой:
новый сервер на современном Xray → чаще VLESS.
уже есть хороший Trojan server → можно спокойно продолжать использовать.
пользователь готовой подписки → выбирайте node по скорости и стабильности, а не по названию protocol.
нужен Vision или максимум современных VLESS specific функций → VLESS.
И если VLESS сервер не работает, не нужно автоматически переходить на Trojan.
Сначала проверьте:
другой server → другой IP → другую сеть → transport → routing.
Очень часто проблема вообще находится не на уровне VLESS или Trojan, а несколькими слоями ниже.
