Народный

Протоколы

Trojan-GFW

Протокол VPN-маскировки, имитирующий легитимный HTTPS-сайт. Использует настоящий TLS-сертификат и реверс-проксирует probing-запросы на запасной веб-сервер.

Определение

Trojan-GFW — это VPN-протокол, разработанный в 2017 году с явной целью обхода Great Firewall of China. Идея: туннель имитирует обычный HTTPS-сайт, и при active probing сервер ведёт себя как настоящий веб-сервер. Имя «Trojan» — отсылка к троянскому коню: трафик внешне неотличим от обычного веб-трафика.

Существует две основные реализации: trojan (оригинал на C++) и trojan-go (порт на Go с расширениями). Современные VPN-стеки часто используют trojan-протокол внутри xray-core или sing-box.

Как работает

Trojan-GFW требует, чтобы сервер имел валидный TLS-сертификат от Let’s Encrypt (или другого CA) и реальный домен. Шаги соединения:

  1. Клиент устанавливает TLS к серверу на порт 443 — JA3-отпечаток обычно подделывается под Chrome через uTLS.
  2. После TLS-handshake клиент отправляет HTTP-like запрос с заголовком, содержащим SHA-224 от pre-shared password.
  3. Если password валидный — сервер открывает SOCKS5-туннель и проксирует трафик. Если нет — сервер передаёт TCP-соединение на запасной веб-сервер (fallback), и клиент видит обычный HTML или 404.

Ключевая особенность — fallback. DPI делает active probing (шлёт запросы как обычный браузер) и получает реальный ответ от запасного веб-сервера. Это убеждает DPI, что на 443 порту обычный сайт.

Сравнение с VLESS Reality

Trojan-GFW и VLESS Reality решают одну и ту же задачу — TLS-маскировка — но разными способами.

ПараметрTrojan-GFWVLESS Reality
СертификатСвой Let’s EncryptЧужой (Microsoft и т.п.)
FallbackНужен реальный веб-серверРеверс-прокси к чужому сайту
Active probingВозвращает реальный ответ fallback’аВозвращает сертификат настоящего сайта
СложностьСредняя (нужен домен + сертификат)Средняя (нужны ключи x25519)
УязвимостьDPI может видеть домен в SNIDPI видит чужой популярный домен

На 2026 год VLESS Reality архитектурно сильнее: нет проблемы регистрации белого домена и поддержки реального сайта. Trojan остаётся актуальным в проектах, где уже есть инфраструктура с веб-сервером.

Trojan-GFW и ТСПУ

ТСПУ начала эффективно блокировать классический Trojan-GFW примерно с 2024 года через комбинацию подходов. Конкретные триггеры:

  • SNI-blacklisting. Домены, замеченные в трафике Trojan-серверов, попадают в чёрный список.
  • Анализ паттернов трафика. Trojan имеет характерное распределение размеров пакетов после handshake, отличающееся от настоящего веб-серфинга.
  • Активный пробинг. Хотя fallback работает, ТСПУ научилась флагить домены, где сертификат свежий (новый Let’s Encrypt) и трафик идёт только с одного IP-блока — типичный признак VPN.

В РФ-сетях 2026 Trojan-GFW работает, но менее стабильно, чем VLESS Reality. Часто используется как backup-протокол.

Где используется

Trojan-GFW — стандартный протокол во многих self-hosted VPN-панелях и коммерческих провайдерах, ориентированных на КНР и Иран.

  • v2rayN, v2rayNG, Shadowrocket — поддерживают trojan-протокол.
  • x-ui, Marzban, Hiddify — серверные панели с управлением Trojan-туннелями.
  • AmneziaVPN — Trojan как один из доступных протоколов в самосозданных конфигах.

Базовая серверная установка занимает 5-10 минут: домен → Let’s Encrypt → trojan binary → nginx как fallback.

Конфигурация

Минимальный server-side конфиг (trojan-go):

run_type: server
local_addr: 0.0.0.0
local_port: 443
remote_addr: 127.0.0.1
remote_port: 80
password:
  - your_password_here
ssl:
  cert: /etc/letsencrypt/live/example.com/fullchain.pem
  key:  /etc/letsencrypt/live/example.com/privkey.pem
  fallback_port: 8080

На клиенте — пара host + password, JA3-fingerprint через uTLS-эмуляцию.

Источники

Связанные термины

  • VLESS Reality — современная альтернатива.
  • DPI — что Trojan обходит.
  • ТСПУ — российский DPI.
  • JA3 / JA4 — отпечаток, который Trojan подделывает.