Fake TLS в MTProxy: как трафик маскируется под HTTPS
Первые версии MTProxy обфусцировали трафик, но у них оставалась ахиллесова пята: DPI-системы научились находить характерные байтовые паттерны в хендшейке. Fake TLS — режим, в котором соединение с прокси с точки зрения любого наблюдателя неотличимо от открытия обычного HTTPS-сайта. Разберём механизм изнутри.
Зачем маскировать трафик под TLS
TLS (Transport Layer Security) — протокол, которым защищены все HTTPS-сайты. Браузерный замочек, банковские переводы, почта — всё это TLS. Из-за его повсеместности провайдер не может заблокировать весь TLS-трафик без отключения интернета как такового.
Идея Fake TLS проста: сделать MTProxy-соединение неотличимым от обычного TLS-соединения к легитимному сайту. Тогда единственный способ заблокировать прокси — заблокировать сам легитимный сайт (например, google.com), что политически невозможно.
Структура секретного ключа с Fake TLS
Секрет прокси — это строка, которую вы видите при добавлении прокси в Telegram. Для режима Fake TLS она имеет следующую структуру:
ee367dbc7ce59d9a56e8f59b9cadef34676f6f676c652e636f6d
│ │ │
│ └── 32 hex-символа ключа └── hex("google.com")
└── префикс Fake TLS
Три части:
ee— двухсимвольный маркер режима Fake TLS- 32 hex-символа — 16-байтовый ключ шифрования
- hex-строка — UTF-8 представление SNI-домена в шестнадцатеричном виде
Telegram-клиент автоматически декодирует этот формат и знает всё необходимое для соединения.
Как выглядит рукопожатие с прокси
Когда вы подключаетесь через Telegram, разворачивается следующая последовательность:
DPI видит только трафик, проходящий через него. Всё выглядит как обычный HTTPS к google.com.
Почему Client Hello — ключевой элемент
Client Hello — первое сообщение в TLS-рукопожатии. Оно содержит поле SNI (Server Name Indication): открытый текст с именем домена. Это единственное место в зашифрованном соединении, где DPI может прочитать имя хоста, не взламывая шифрование.
Fake TLS использует это поле стратегически: помещает туда имя крупного CDN-домена. Блокировать трафик с SNI cloudflare.com или google.com означает заблокировать миллионы легитимных сервисов.
Как выбрать домен для SNI
Не все домены одинаково защищают ваш прокси:
| Критерий | Что искать |
|---|---|
| Объём трафика | Домены с миллионами запросов в секунду — блокировка слишком дорогостоящая |
| CDN-покрытие | Если домен за CDN (Cloudflare, Akamai), его IP невозможно заблокировать en masse |
| Репутация | Банки, крупные СМИ — блокировка политически чувствительна |
| Доступность | Домен должен работать в целевой стране, иначе SNI-проверка провалится |
Плохой выбор: малоизвестные домены или домены, уже заблокированные в стране.
Что делает прокси при активном зондировании DPI
Продвинутые DPI-системы не просто пассивно наблюдают — они активно зондируют подозрительные соединения: сами подключаются к серверу и проверяют, реагирует ли он как настоящий HTTPS.
Правильная реализация MTProxy обрабатывает это так: при получении подозрительного запроса сервер проксирует его к реальному HTTPS-серверу домена прикрытия. Для DPI всё выглядит как легитимное соединение к google.com.
Ограничения Fake TLS
ECH (Encrypted Client Hello) — новый стандарт, который полностью шифрует SNI. Когда ECH распространится у провайдеров, DPI не сможет читать имя домена вообще. Но пока он не внедрён массово, Fake TLS остаётся актуальным.
Статистический анализ потока — при длительном наблюдении системы могут заметить отличия от «настоящего» TLS: нетипичные тайминги, структура сертификата. Это требует дорогостоящих вычислений.
IP-блокировки — Fake TLS защищает от сигнатурной фильтрации, но не от блокировки IP-адреса прокси. Именно поэтому MTProxyHub ротирует узлы каждые 60 секунд.
Похожие подходы в других инструментах
Fake TLS не уникален для Telegram — это часть широкой экосистемы обхода цензуры:
- Shadowsocks с плагинами obfs4 и v2ray-plugin
- V2Ray/Xray в режиме WebSocket + TLS
- Tor с мостами meek и snowflake (используют настоящий domain fronting через CDN)
Их объединяет одна идея: прятаться в тени легитимного HTTPS-трафика.
FAQ
Как отличить прокси с Fake TLS от обычного?
Секрет с Fake TLS всегда начинается с ee. Старые прокси начинались с dd или шли без префикса.
Можно ли узнать SNI-домен из секрета?
Да — он закодирован в конце строки как hex UTF-8. Например, 676f6f676c652e636f6d = google.com.
Что произойдёт, если DPI отправит зондирующий запрос? Грамотный MTProxy-сервер перенаправит его к реальному HTTPS-хосту домена прикрытия.
Почему не настоящий TLS? Настоящий TLS потребовал бы сертификаты и PKI, делая прокси идентифицируемым через Certificate Transparency.
Если нужно просто работающее подключение прямо сейчас, откройте список узлов с Fake TLS. Все прокси поддерживают ee-секреты по умолчанию.
Также читайте: как работает DPI и как настроить собственный MTProxy-сервер.