Секрет ee в MTProto прокси: разбор по байтам
Секрет ee — это три части: префикс ee, 32 шестнадцатеричных символа ключа и hex-запись доменного имени. Именно хвост делает секрет длинным и включает режим FakeTLS, в котором соединение начинается как настоящий HTTPS-запрос. Все серверы в таблице выше — ee.
Разберём каждую часть, правила выбора домена для своего сервера и типичные ошибки при копировании.
Три части секрета
ee — команда клиенту использовать FakeTLS. Следующие 32 символа — ключ, которым клиент подписывает TLS ClientHello, а сервер проверяет подпись. Остаток — домен в hex: например, 786170692e6f7a6f6e2e7275 читается как xapi.ozon.ru. Клиент подставляет его в SNI.
Ключ — общий для сервера; домен — часть настройки сервера; менять ни то, ни другое на стороне клиента нельзя.
Какой домен выбирать на своём сервере
Популярный сайт, который оператор не заблокирует и который реально отвечает по TLS 1.3 на порту 443: при неудачном рукопожатии сервер прокси может проксировать «лишних» посетителей на настоящий сайт, и легенда остаётся правдоподобной. Домены крупных российских сервисов подходят.
Не берите свой собственный домен и домены, заблокированные в стране: первое сужает легенду, второе ломает её.
Ошибки при копировании
Пробел в конце — самая частая: приложение пишет «неверный секрет». Второй по частоте — обрезанный хвост при копировании из чата, где сообщение перенеслось. Третий — заглавные буквы после автозамены на телефоне; hex нечувствителен к регистру, но некоторые клиенты придираются.
Ссылка tg://proxy с сайта исключает все три: нажали — приложение получило секрет целиком.
Проверка
Добавьте сервер и посмотрите пинг в настройках прокси Telegram. Число есть — ключ и домен приняты. «Неверный секрет» при правильной длине — старая версия клиента, не знающая ee.
На своём сервере проверку делайте с мобильного интернета: домашний провайдер и оператор фильтруют по-разному.
Как выглядит на практике
Ссылка с сайта раскладывается так: адрес из таблицы, порт 443 и секрет из 58 символов. Первые два — ee, дальше 32 символа ключа, и последние 24 — hex домена xapi.ozon.ru. Telegram при подключении покажет всё это в окне подтверждения, и по длине сразу видно, что режим — FakeTLS.
На своём сервере храните ключ и домен раздельно в конфигурации, а полный секрет генерируйте скриптом при выдаче ссылок: так меньше шансов раздать строку с опечаткой. Проверяйте каждую новую ссылку с мобильного интернета до публикации.
Вопросы и ответы
Почему секреты на сайте одинаковые у разных серверов?
Пул с общим ключом и доменом: адреса меняются, секрет остаётся, ссылки не устаревают.
Можно ли использовать домен, которого не существует?
Технически да, но легенда рушится при первом взгляде фильтра.
Где в секрете заканчивается ключ и начинается домен?
Ключ — ровно 32 символа после ee; всё дальше — домен.