
Сразу после событий с блокировками Telegram в Иране и России, в бета-версиях мессенджера начал появлятся новый тип Proxy, а если быть точным, новый протокол — MTProto Proxy.
Этот протокол был создан командой Telegram для решения проблем обхода блокировок, но так ли он хорош?
Как сейчас?
Основный тип прокси с которым сейчас работает телеграм — socks. У него есть фатальный недостаток: Логин и пароль при подключении к прокси — передаётся в открытом виде, нет, ваш телеграм таким образом «увести» нельзя, но вот заглянуть внутрь прокси и понять, что Иван Иванов пользуется телеграмом — можно.
В тех странах, которые используют DPI для анализа трафика, так и сделано. Это устройство разбирает туннель и смотрит, что же там внутри, если видит запрещенный трафик — блокируем.
Что предлагает Дуров?
MTProto Proxy — протокол семейства MTProto (на нем работает Telegram), решает сразу несколько проблем:
- Для подключения вместо логин+пароль, достаточно только пароля
- Трафик не отличается от обычного HTTPS/TLS (ну почти)
- Пароль не передается до сервера при подключении
- Трафик зашифрован
- Возможна работа через прокси только Telegram'a (другие приложения работать не будут)
- Promoted каналы
Как вы видите — набор особенностей делает данный тип прокси узкоспециальным — для Telegram, обычный трафик вы туда не сможете передавать и это, как не странно — огромный плюс.
Только Telegram
Ранее каналы (и боты) делали свои прокси и раздавали их в мир для сохранения аудитории в случае блокировки. Их прокси попадали в глобальные списки прокси и через них осуществлялись рассылки спама и другие нехорошие вещи. С новым типом прокси — вы не сможете нарушить закон, максимум что произойдет — telegram забанит ваш IP-адрес.
Пример нарушения закона в случае с socks: Через ваш прокси пытались взломать банк/гос.ведомство, ваш хостер получит официальную жалобу и в самом лучшем случае просто вас заблокирует, в худшем — велкам ту суд.
Promoted-каналы

Promoted-каналы — это такой канал, на который вы автоматически будете подписаны при подключении к прокси, он будет закреплен наверху списка контактов/чатов и его нельзя удалить пока вы не отключитесь от данного прокси.
Грубо говоря, telegram позволяет монетизировать proxy, если раньше вы могли взять прокси от канала X (тк он работает быстрее), но вообще его не читать а пойти читать Y, (а при этом, канал X тратит деньги на поддержку прокси в пустоту), то теперь за пользования прокси вы будете платить под��исью на канал.
Таким образом, можно ожидать взрывной рост таких прокси, если ранее создание прокси было больше порывом доброй воли или благотворительностью, то сейчас — чем больше пользователей на вашем прокси = тем больше подписчиков у канала --> рекламу можно продать дороже.
Трафик зашифрован
Запустив Wireshark я пошел смотреть, как же выглядит трафик при работе через прокси. А выглядит он как обычное TCP/SSL соединение (без некоторых пакетов/заголовков которые относятся к https). Другими словами, трафик может маскироватся под такие решения как Cisco Anyconnect и аналогичные решения которые используют TCP+SSL.
Внутри тоннеля — «каша» из шифрованного трафика, трафик зашифрован, как можно догадатся, тем самым паролем/секретной фразой которую вы вводите при подключении. Но не только ей, конечно же, тут используются все возможности SSL/TLS.
Когда будет в продакшене?
На данный момент, MTProto Proxy доступен в стабильной версии Telegram for OS X, Telegram or Android, и в бета-версиях Telegram Desktop, iOS Telegram X.
Похоже мы ждем релиза в «продакшен» данного прокси в клиентах Desktop и обычная iOS версия (не Х) сразу после этого, мы должны увидеть новый пост от команды с рассказом о том, почему это хорошо и как жить дальше.
А потестировать где?
На просторах чатов в телеграмм был найден полу-официальный прокси который прекрасно работает с новым протоколом и (похоже) запущен одним из разработчиков, собственно вот он:
t.me/proxy?server=proxy.digitalresistance.dog&port=443&secret=d41d8cd98f00b204e9800998ecf8427e
Но и это еще не все, энтузиасты на Github методом анализа исходников пытаются сделать свои прокси сервера (пока официального еще нет), вот (PHP) пару (C#) проектов (Rust).
PS А еще в самой свежей версии библиотеки для VOIP звонков которая используется в telegram найдена поддержка режима конференций, похоже скоро будет сразу два больших анонса.
UPD: MTProto proxy — в данный момент часть инфраструктуры Telegram и когда телеграм «бегает» от блокировок — он именно множит и переносит копии своего MTProto Proxy между хостерами, сами же обрабатывающие сервера никуда не переезжают. Таким образом, в скором времени, Telegram позволит часть своей инфраструктуры развернуть у себя. (Протокол «родных» прокси может отличатся от того, что телеграм в данный момент реализует у себя в клиентах под названием MTPROTO)
UPD: Аналогичный пост от Анны (Vee Security) по поводу видов прокси в Telegram и про MTProto Proxy (включая разбор конкретного вида шифрования)
UPD: MTProto Proxy от создателей TgVPN mtproto.tgproxy.cloud/mtproxy.html просят протестировать
UPD: Самая стабильная версия сервера MTProto (на мой взгляд) — на Rust, доступна на Github github.com/dotcypress/mtproxy
Самый простой вариант для запуска «своего» прокси:
sudo docker run --name 'mtproto_proxy' --restart unless-stopped -p 1984:1984 -dti dotcypress/mtproxy -s 'proxy secret'Вместо proxy secret — стоит указать свою фразу на основе которой будет сгенерирован ключ
Получить ключ:
docker logs mtproto_proxyТолько зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Поможет ли новый тип прокси с монетизацией обойти блокировки?
87.65%Да823
12.35%Нет116
Проголосовали 939 пользователей. Воздержались 274 пользователя.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Ждёте ли вы аудио конференции?
57.32%Да! Это позволит отказатся от дорогих комерческих/платных решений540
13.48%Неплохо, но есть же тот же скайп?127
29.19%Мне не интересны аудио конференции275
Проголосовали 942 пользователя. Воздержались 190 пользователей.
