SNI в FakeTLS: зачем прокси домен
Секрет FakeTLS заканчивается hex-записью домена — например, 786170692e6f7a6f6e2e7275 расшифровывается как xapi.ozon.ru. Это не адрес прокси и не сайт, куда вы заходите, а имя, которым соединение прикидывается.
Что такое SNI
SNI (Server Name Indication) — поле в первом пакете TLS-соединения, где клиент открытым текстом сообщает, к какому сайту он обращается. Оно нужно, чтобы один сервер мог обслуживать много доменов. Из-за открытости SNI — главный признак, по которому оборудование операторов понимает, что за сайт открывает пользователь.
Как FakeTLS использует SNI
MTProto-прокси в режиме FakeTLS начинает соединение настоящим TLS ClientHello, куда подставляет домен из секрета. Фильтр видит «TLS к xapi.ozon.ru» — популярный российский сервис, который никто не станет блокировать. Сервер отвечает правдоподобным ServerHello, и дальше под видом зашифрованной TLS-сессии идёт трафик Telegram. Домен нужен только для этой первой картинки.
Почему выбирают крупные российские домены
Маскировка работает, пока домен выглядит уместно. Если прокси стоит на адресе в Европе, а SNI указывает на мелкий сайт, которого там быть не должно, это подозрительно. Домены вроде ozon.ru, vk.com или yandex.ru встречаются в трафике миллионов пользователей, и соединение к ним под подозрение не попадает. Настоящему сайту это не вредит: запросы к нему не уходят.
Как расшифровать домен из секрета
После ee и 32 символов ключа остаётся hex-строка; каждые два символа — один байт ASCII. 78 61 70 69 → «xapi», 2e → точка, и так далее. Знать это не обязательно: клиент разбирает секрет сам. Но по хвосту секрета можно понять, под какой сайт маскируется прокси, — иногда это объясняет, почему он перестал работать после блокировки конкретного домена.
Что будет, если домен заблокируют
Тогда соединение с таким SNI начнут резать, и прокси перестанет подключаться, хотя сервер жив. Владелец меняет домен в настройках, выдаёт новый секрет — и всё работает. Поэтому список публичных прокси периодически обновляется. Как это выглядит с точки зрения оператора, описано на странице «DPI и блокировка Telegram».