Сервера MTProto → Секрет ee в MTProto прокси: разбор по байтам

Секрет ee в MTProto прокси: разбор по байтам

Секрет ee — это три части: префикс ee, 32 шестнадцатеричных символа ключа и hex-запись доменного имени. Именно хвост делает секрет длинным и включает режим FakeTLS, в котором соединение начинается как настоящий HTTPS-запрос. Все серверы в таблице выше — ee.

Подключить srv1Подключить srv2Подключить srv3Все сервера

Разберём каждую часть, правила выбора домена для своего сервера и типичные ошибки при копировании.

Три части секрета

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; всё дальше — домен.

Читайте также

← Сервера MTProto