Попробовать
Назад к блогу

MTProto-прокси в Telegram: что это и как он работает

MTProto-прокси в Telegram: что это и как он работает

MTProto-прокси — это сервер-посредник, который понимает только один клиент: Telegram. Приложение подключается к нему вместо прямого соединения с дата-центрами мессенджера, посредник пересылает зашифрованный поток дальше, а остальные программы на устройстве продолжают ходить в сеть как обычно. Поддержка встроена в Telegram, поэтому ничего устанавливать не нужно: хватит одной ссылки или трёх значений — сервера, порта и секрета.

Ниже разбираем устройство, а не пункты меню. Вы узнаете, что видит владелец сервера и чего он не видит, зачем нужен секрет и чем отличаются префиксы dd и ee, из чего состоит прокси-ссылка, откуда в списке чатов берётся спонсорский канал и почему вчерашний рабочий прокси сегодня не подключается.

Прокси для Telegram

Приватные SOCKS5-прокси с логином и паролем, которые подключаются к Telegram напрямую

Попробовать

Как проходит соединение

Без прокси клиент соединяется с дата-центрами Telegram напрямую. После включения MTProto-прокси на маршруте появляется ещё один узел:

Приложение Telegram → MTProto-прокси → дата-центр Telegram

Посредник принимает TCP-соединение, проверяет, что клиент знает секрет, и открывает собственное соединение с дата-центром. Дальше данные идут через него в обе стороны. Чаты, файлы и боты работают как раньше: приложение говорит на своём обычном протоколе, меняется лишь «упаковка» для передачи.

Отсюда два следствия. Во-первых, прокси действует только на Telegram: браузер, игры и почта его не замечают. Во-вторых, у посредника нет ключей к вашей переписке. MTProto шифрует трафик между приложением и серверами Telegram, и оператору достаётся только шифротекст.

Секрет: обычный, dd и ee

Секрет — общий ключ клиента и сервера. С его помощью поток обфусцируется, чтобы наблюдатель по первым байтам не понял, что это Telegram. Форматов со временем стало три, и тип легко узнать по началу строки.

Формат секретаКак выглядитЧто даётАктуальность
Обычный32 шестнадцатеричных символаБазовая обфускация потокаФильтры легко распознают; почти не используется
dd + 32 символаНачинается с ddСлучайное дополнение пакетов, скрывающее их типичные размерыПоддерживается, но слабее Fake-TLS
ee + 32 символа + доменНачинается с ee, дальше длинный хвостFake-TLS: начало соединения похоже на заход на обычный HTTPS-сайтСтандарт для новых серверов

В варианте ee хвост секрета — это доменное имя в шестнадцатеричной записи. При подключении клиент отправляет приветствие в духе TLS 1.3 для этого домена и прячет внутри код проверки. Если код неверный, грамотно настроенный сервер перенаправляет запрос на настоящий сайт, и сканер видит обычный HTTPS-хост. Гарантии работы в любой сети это не даёт: системы фильтрации смотрят ещё на объём трафика, ритм пакетов и репутацию IP сервера.

Из чего состоит прокси-ссылка

Три значения по отдельности раздают редко — обычно присылают ссылку, из которой Telegram сам собирает готовую запись. Встречаются две равноценные формы:

tg://proxy?server=198.51.100.24&port=443&secret=ee1b9f...
https://t.me/proxy?server=198.51.100.24&port=443&secret=ee1b9f...

Параметр server — IP или домен, port чаще всего 443, потому что этот порт редко закрывают, secret — ключ из таблицы выше. По нажатию на ссылку открывается окно подтверждения с кнопкой Подключить прокси. Подробный путь по меню на компьютере и телефоне, включая ручной ввод, описан в инструкции о том, как установить прокси в Telegram.

Карточка MTProto-прокси в Telegram: сервер, порт 853, скрытый секрет и предупреждение перед подключением
Telegram предупреждает, что владелец прокси увидит ваш IP

Откуда берётся спонсорский канал

Многие после подключения видят закреплённый канал с пометкой «Спонсор прокси». Это штатная функция: владелец регистрирует сервер в официальном прокси-боте Telegram и получает тег, по которому мессенджер показывает один канал всем пользователям этого посредника. Канал исчезает, как только прокси выключен. Частный сервер без тега ничего не показывает.

MTProto-прокси, SOCKS5 и VPN

Все три варианта ведут трафик через чужой сервер, но охват у них разный.

MTProto-проксиSOCKS5-проксиVPN
Что проходит через негоТолько TelegramЛюбое приложение с поддержкой SOCKS5Обычно всё устройство
Данные для подключенияСервер, порт, секретСервер, порт, при необходимости логин и парольПрофиль или файл конфигурации
Скрывает, что это TelegramДа, за счёт обфускацииНет, рукопожатие открытоеЗависит от протокола
Голосовые и видеозвонкиНе проходятВозможны, если сервер передаёт UDPПроходят
Дополнительные программыНе нужныДля Telegram не нужныНужен VPN-клиент

Если выбираете между первыми двумя колонками, загляните в разбор SOCKS5 или MTProto для Telegram: там подробнее о скорости, звонках и настройке.

Что видит оператор прокси

Прочитать сообщения, файлы или контакты посредник не может. Зато ему доступны технические данные о соединении:

  • ваш внешний IP-адрес и примерное местоположение;
  • время подключения и длительность сессии;
  • объём переданных данных;
  • сам факт использования Telegram.

Поэтому доверие к владельцу сервера по-прежнему важно. Чужой прокси может вести журналы, внезапно исчезнуть или начать продвигать канал, который вам неинтересен.

Публичные списки, частные серверы и свой прокси

Бесплатные подборки в каналах и на сайтах — самый быстрый способ подключиться и самый непредсказуемый. На одном сервере сидят сотни людей, поэтому вечером растёт пинг, а ссылки перестают работать, когда IP блокируют или владелец меняет секрет. Риски здесь те же, что у любых бесплатных прокси.

Частный посредник снимает вопросы нагрузки и доверия, но требует обслуживания. Исходный сервер от Telegram написан на C и давно почти не развивается; сейчас чаще ставят сборки сообщества — mtg на Go, рассчитанный на Fake-TLS-секреты, или mtprotoproxy на Python, который понимает все три формата. Для семьи или небольшой команды хватит недорогого VPS с чистым IP и открытым портом 443.

Если администрировать сервер не хочется, проще воспользоваться встроенной в Telegram поддержкой SOCKS5: приватный SOCKS5-прокси с логином и паролем добавляется в список прокси приложения и заодно подходит для браузера. Готовые варианты для мессенджера собраны на странице прокси для Telegram.

Почему MTProto-прокси перестал работать

Первая подсказка — строка состояния в списке прокси. Бесконечное «Соединение» или отсутствие пинга обычно объясняется одной из причин:

  1. Сменился секрет. Владельцы меняют его после обнаружения сервера. Возьмите свежую ссылку.
  2. IP заблокирован. Публичные посредники вычисляют быстро, частные живут дольше.
  3. Устаревший формат. Обычный секрет могут фильтровать, а ee-секрет в той же сети работает.
  4. Сервер перегружен. Высокий пинг и обрывы в часы пик говорят о слишком большом числе пользователей.
  5. Проблема в вашей сети. Если не подключается и заведомо рабочий второй прокси, проверьте другой Wi-Fi или мобильный интернет.

Держите в списке два-три сервера: Telegram показывает пинг каждого, и переключиться можно одним нажатием.

Частые вопросы о MTProto-прокси

MTProto-прокси — это то же самое, что VPN?

Нет. VPN обычно пропускает через себя всё устройство, а MTProto-прокси — только Telegram. Браузер и другие приложения работают по обычному маршруту.

Может ли владелец прокси читать мою переписку?

Нет. Сообщения остаются зашифрованными протоколом Telegram, поэтому посредник видит только шифротекст и метаданные: IP, время сессии и объём трафика.

Что означает секрет, который начинается с ee?

Это секрет Fake-TLS. Соединение маскируется под заход на обычный HTTPS-сайт, домен которого записан в хвосте секрета.

Работают ли звонки через MTProto-прокси?

Нет. Звонки идут своим маршрутом, поэтому они могут не соединяться, даже когда чаты через посредника работают. Пустить звонки через прокси можно с SOCKS5-сервером, который передаёт UDP.

Почему в списке чатов появился какой-то канал?

Владелец прокси подключил к серверу спонсорский канал. Он виден только при включённом прокси и пропадает после отключения.