Trojan
Идея Trojan простая: туннель прячется в обычное HTTPS-соединение с настоящим сертификатом, без собственных заголовков и обёрток. По замыслу авторов на том же адресе стоит ещё и настоящий сайт, который получает всякий, кто пришёл без пароля. Правильный пароль в начале разговора переключает соединение в туннель, и снаружи этот момент ничем не отмечен.
Что такое Trojan
Авторы Trojan в 2019 году заметили: подозрительным бывает не только содержимое соединения, но и реакция сервера на неправильное подключение. Туннель, который отвечает ошибкой или молчит, выдаёт себя этим не хуже, чем отпечатком в трафике: настоящий сайт так себя не ведёт.
Отсюда идея: пусть на том же адресе стоит настоящий сайт и отвечает всем, кто пришёл без ключа. Тогда активная проверка ничего не находит — она встречает то же, что встретила бы у любого другого ресурса.
Название отсылает к троянскому коню: снаружи одно, внутри другое. Схема несколько лет была основным способом обхода глубокой фильтрации — до тех пор, пока Reality не предложил обходиться вовсе без собственного домена и сертификата. Сегодня Trojan — крепкий второй вариант, а не первый.
Как работает Trojan
Соединение неотличимо от захода на защищённый сайт: тот же порт, то же рукопожатие, тот же сертификат, выписанный на настоящее имя. Никаких собственных заголовков, никакой обвязки поверх — внутри защищённого канала сразу идут данные.
По замыслу протокола активная проверка натыкается на веб-страницу: без пароля сервер отдаёт сайт, а не ошибку. На сервере toNet такого сайта нет, соединение без пароля просто закрывается. Это слабее, чем у Reality: тот в том же случае показывает настоящий чужой сайт.
В сравнении с Reality разница в том, чей сертификат показывают. Trojan показывает свой, выписанный на имя вашего сервера; в исходной схеме за ним ещё стоит настоящий сайт. Reality показывает чужой, взятый у настоящего постороннего ресурса. Второе надёжнее, потому что не требует, чтобы ваш сервер выглядел живым и посещаемым сайтом.
Плюсы Trojan
Минимум накладных расходов. Внутри защищённого канала нет дополнительных слоёв, поэтому по скорости он близок к пределу, который даёт само шифрование.
Нет собственного отпечатка. Рукопожатие — обычный TLS с настоящим сертификатом, без служебных полей, по которым узнают VMess или OpenVPN.
Живёт на порту обычного веба и проходит там, где разрешён только он.
Не зависит от UDP, а значит, работает в сетях, где тот закрыт.
Его понимают все распространённые клиенты: протокол старый, устоявшийся, без разночтений в реализациях.
Минусы Trojan: когда не подходит
Нужны домен и сертификат на него. Обойтись без них нельзя: без настоящего имени вся конструкция разваливается.
Без сайта-прикрытия сервер на неверный пароль отвечает закрытием соединения. Настоящие сайты так себя не ведут, и активная проверка может это заметить. Даже с прикрытием пустая страница на адресе, куда никто не заходит, сама по себе выглядит странно.
Опознаётся по косвенным признакам. Само рукопожатие чистое, но соотношение отправленного и полученного, длительность соединения и объём трафика мало похожи на чтение статей. Против системы, которая смотрит на поведение, а не на отпечаток, этого может не хватить.
Reality решает ту же задачу без домена и сертификата, поэтому в новых установках Trojan чаще оказывается вторым, а не первым выбором.
Когда выбрать Trojan
Берите, когда нужен быстрый и незаметный протокол поверх обычного соединения, а домен и сертификат вас не смущают.
Хорош как замена Reality там, где тот почему-то не работает: задачи у них близкие, а устройство разное, и фильтрация, настроенная против одного, не обязательно ловит другой.
На нестабильном мобильном канале уступает Hysteria2: тот умеет переживать потери пакетов, а здесь потеря тормозит весь поток.
Trojan или VLESS Reality и VLESS WebSocket
Trojan и VLESS + Reality — ближайшие родственники: оба поверх TCP, оба выглядят как HTTPS, оба без лишних слоёв внутри. Разница в сертификате. Trojan предъявляет свой, выписанный на имя сервера, Reality — сертификат настоящего чужого сайта. Свой сертификат нужно выпускать и продлевать, а проверка приводит к адресу, за которым нет известного сайта.
У VLESS + WebSocket и VMess + WebSocket Trojan выигрывает в скорости, потому что не оборачивает данные в WebSocket. Проигрывает в одном: за CDN его не поставить. CDN пропускает веб-запросы, а Trojan — это TLS без HTTP внутри.
| Протокол | Транспорт | Как выглядит в сети | Сертификат | Если UDP закрыт | Скорость | Батарея | Мобильная сеть |
|---|---|---|---|---|---|---|---|
| Trojan | TCP | HTTPS-соединение | выпускается сам | проходит | высокая | средний расход | средне |
| VLESS + Reality | TCP | HTTPS к известному сайту | не нужен | проходит | высокая | средний расход | средне |
| VLESS + WebSocket | TCP | WebSocket поверх HTTPS | выпускается сам | проходит | средняя | средний расход | средне |
| VMess + WebSocket | TCP | WebSocket поверх HTTPS | выпускается сам | проходит | ниже средней | средний расход | средне |
- Trojan
- Транспорт
- TCP
- Как выглядит в сети
- HTTPS-соединение
- Сертификат
- выпускается сам
- Если UDP закрыт
- проходит
- Скорость
- высокая
- Батарея
- средний расход
- Мобильная сеть
- средне
- Транспорт
- TCP
- Как выглядит в сети
- HTTPS к известному сайту
- Сертификат
- не нужен
- Если UDP закрыт
- проходит
- Скорость
- высокая
- Батарея
- средний расход
- Мобильная сеть
- средне
- Транспорт
- TCP
- Как выглядит в сети
- WebSocket поверх HTTPS
- Сертификат
- выпускается сам
- Если UDP закрыт
- проходит
- Скорость
- средняя
- Батарея
- средний расход
- Мобильная сеть
- средне
- Транспорт
- TCP
- Как выглядит в сети
- WebSocket поверх HTTPS
- Сертификат
- выпускается сам
- Если UDP закрыт
- проходит
- Скорость
- ниже средней
- Батарея
- средний расход
- Мобильная сеть
- средне
Скорость и расход батареи — сравнительные оценки, а не замеры. Свой домен не нужен ни одному протоколу: где нужен сертификат, он выпускается на служебное имя сервера автоматически.
Подробнее: VLESS vs VMess vs Trojan. Все протоколы в одной таблице — на странице о протоколах.
Чем подключиться к Trojan
Приложения бесплатные, ссылки ведут в официальные магазины и на страницы релизов разработчиков.
- Android: Happ, Hiddify; подойдут и v2rayNG, NekoBox
- iPhone и iPad: Happ, Hiddify, Incy; подойдут и Streisand, v2Box, Shadowrocket
- Windows: Happ, Hiddify; подойдут и v2rayN
- macOS: Happ, Hiddify, Incy; подойдут и V2Box
- Linux: Happ, Hiddify; подойдут и sing-box CLI
Как добавить: скопируйте ссылку-подписку в личном кабинете и вставьте её в приложение («+» → «Добавить из буфера обмена») или отсканируйте QR-код — в списке появятся все протоколы сервера, включая этот.
Протоколу нужен настоящий сертификат: он выпускается и продлевается при установке автоматически, от вас тут ничего не требуется.
Пошаговые инструкции по платформам: Android, iPhone и iPad, Windows, macOS, Linux; все вместе — в разделе инструкций.
Trojan: частые вопросы
Показывает ли сервер toNet сайт-прикрытие для Trojan?
Нет. В исходной схеме Trojan за сервером стоит настоящий сайт, который отвечает всем без пароля. На сервере toNet отдельного сайта нет: соединение без правильного пароля сервер закрывает. Если важна незаметность при проверке сервера, берите VLESS Reality — там соединение без ключа получает настоящий чужой сайт.
Нужен ли для Trojan свой домен?
Нужен сертификат на имя сервера, но покупать домен не придётся: toNet выпускает сертификат Let’s Encrypt на служебное имя вида «IP-сервера.sslip.io» и продлевает его сам. Если сертификат выпустить не удалось, Trojan не включается — с самоподписанным клиент всё равно не подключился бы.
Чем Trojan отличается от VLESS?
Trojan проверяет пароль, VLESS — идентификатор пользователя, а в остальном они близки: оба не шифруют данные второй раз и доверяют защиту TLS. Разница в обвязке. VLESS бывает с Reality, WebSocket и другими транспортами, а Trojan в toNet идёт напрямую поверх TLS.
Чего не делает ни один протокол
Протокол прячет содержимое соединения от сети по дороге, но не делает вас анонимным: сайты по-прежнему узнают вас по учётным записям и cookie, хостинг видит трафик своего сервера, а объём и время соединений скрыть нельзя. Что при этом видит сам сервис, разобрано в разделе о безопасности.
Что дальше
Выбирать один протокол не нужно: на сервере поднимаются все сразу, каждый на своём порту, и переключение занимает пару нажатий. Разбор остальных — на странице о протоколах.
Заведите свой VPN-сервер
Вход по ссылке из письма — пароль придумывать не нужно. Дальше мастер всё настроит сам.
Создать свой VPN