- Telegram выпустил официальный MTProto Proxy Server
- Что такое MTProto Proxy
- Официальный прокси
- Что он может?
- Как настроить?
- Показ Promoted канала
- docker-compose
- Прокси для Телеграм (MTProxy) — что это такое и как настроить?
- Список прокси для Телеграм от команды mssg.me
- Прокси боты
- Сайты с бесплатными прокси для Телеграм
- MTPROTO Proxy
- Как обойти блокировку Telegram
- История появления прокси для обхода блокировок Телеграм
- Как было?
- Что предлагает Телеграм?
- Как работают и финансируются прокси?
- Новый MTProto-прокси сервер от Telegram
- Обновлённая поддержка прокси-серверов в клиентах Telegram
- MTProto-прокси
- Быстрый старт
- Секретный ключ
- Производительность
- Использование сети
- Мониторинг
- Реклама
- Обновление прокси-сервера
- Docker Compose
- Telegram MTPROTO Proxy — всё что мы знаем о нём
- Как сейчас?
- Что предлагает Дуров?
- Только Telegram
- Promoted-каналы
- Трафик зашифрован
- Когда будет в продакшене?
- А потестировать где?
Telegram выпустил официальный MTProto Proxy Server
Что такое MTProto Proxy
Это специфический прокси-сервер и протокол от создателей Telegram позволяющий обходить блокировки и монетизировать его использование.
Официальный прокси
В прошлой публикации была представлена масса неофициальных реализаций прокси сервера, многие из них написаны пользователями Habr.
Теперь же у нас есть и официальный вариант:
Что он может?
Как настроить?
До безобразия просто:
После этого делаем:
В качестве вывода вы получите:
Собственно базовая настройка закончена.
Показ Promoted канала
Eсли вы хотите показывать канал при подключении к прокси, прокси нужно зарегистрировать:
С этим поможет официальный бот @MTProxybot
Ему следует отправить IP:Port + ключ, в ответ вы получите рекламный tag.
Этот tag нужно передать как параметр при запуске контейнера:
Далее возвращаемся к боту, выбираем свой прокси и «Set promotion» — теперь осталось только отправить любой канал для отображения.
Вот собственно и все, теперь у вас есть официальный Telegram Proxy с Promotion каналом, который будет показыватся всем пользователям.
По умолчанию, при запуске будет автоматически сгенерирован ключ и сохранён в томе Docker, если вы хотите вы можете указать друой ключ:
-e SECRET=00baadf00d15abad1deaa51sbaadcafe
А можете попросить сгенерировать вам несколько ключей:
По умолчанию запускает 2 worker’a, изменить настройку можно следующим образом:
WORKERS=16
Мониторинг доступен по адресу: localhost:2398/stats
Получить статистику можно следующим образом:
ready_targets: Количество Telegram серверов которые готовы обслужить запросы с прокси
active_targets: Количество Telegram серверов обслуживающие запросы с прокси
total_special_connections: Количество входящих соединений
total_max_special_connections: Лимит входящих соединений
Бот умеет показывать еще и статистику использования вашего прокси:
docker-compose
Вместо написания длинных команд в одну строку, можно воспользоватся docker-compose.
Источник
Прокси для Телеграм (MTProxy) — что это такое и как настроить?
Обзор прокси для телеграмма. Что это такое? Где найти? Как настроить?
Сразу после событий с блокировками Telegram в Иране и России, в бета-версиях мессенджера начал появлятся новый тип Proxy, а если быть точным, новый протокол — MTProto Proxy.
Список прокси для Телеграм от команды mssg.me
Если прокси некоторое время не работает — он удаляется из списка. Нажимайте «Посмотреть прокси» , и выбирайте новые прокси без блокировки.
Прокси боты
Боты позволяют пополнять список прокси серверов в Телеграм
Сайты с бесплатными прокси для Телеграм
MTPROTO Proxy
Новые безопасные прокси MTProto можете найти на телеграм-канале @MTPproxy. Перейдите в канал, нажмите на ссылку и выберите «Включить».
Как обойти блокировку Telegram
История появления прокси для обхода блокировок Телеграм
Как было?
Основный тип прокси с которым сейчас работает телеграм — socks. У него есть фатальный недостаток: Логин и пароль при подключении к прокси — передаётся в открытом виде, нет, ваш телеграм таким образом «увести» нельзя, но вот заглянуть внутрь прокси и понять, что Иван Иванов пользуется телеграмом — можно.
В тех странах, которые используют DPI для анализа трафика, так и сделано. Это устройство разбирает туннель и смотрит, что же там внутри, если видит запрещенный трафик — блокируем.
Что предлагает Телеграм?
Telegram опубликовал официальный код прокси-сервера, работающего по протоколу MTProto, и выпустил готовый Docker-образ для запуска сервера в контейнере. Этот вид прокси работает только с Telegram и не может использоваться для других сервисов.
MTProto Proxy — протокол семейства MTProto (на нем работает Telegram), решает сразу несколько проблем:
- Для подключения вместо логин+пароль, достаточно только пароля
- Трафик не отличается от обычного HTTPS/TLS (ну почти)
- Пароль не передается до сервера при подключении
- Трафик зашифрован
- Возможна работа через прокси только Telegram’a (другие приложения работать не будут)
- Promoted каналы
Как вы видите — набор особенностей делает данный тип прокси узкоспециальным — для Telegram, обычный трафик вы туда не сможете передавать и это, как не странно — огромный плюс.
Как работают и финансируются прокси?
Все приложения Telegram (кроме веб-версии) поддерживают работу через прокси-серверы. Эту опцию ввели еще летом прошлого года, когда в России тоже собирались заблокировать мессенджер. Прокси в Telegram работает по протоколу SOCKS5 и посылает трафик не напрямую, а через сервер-посредник.
Чтобы финансировать ресурсы на работу прокси серверов, Телеграм придумал модель монетизации через Promoted-каналы.
Promoted-каналы — это такой канал, на который вы автоматически будете подписаны при подключении к прокси, он будет закреплен наверху списка контактов/чатов и его нельзя удалить пока вы не отключитесь от данного прокси.
Грубо говоря, telegram позволяет монетизировать proxy, если раньше вы могли взять прокси от канала X (тк он работает быстрее), но вообще его не читать а пойти читать Y, (а при этом, канал X тратит деньги на поддержку прокси в пустоту), то теперь за пользования прокси вы будете платить подписью на канал.
Таким образом, можно ожидать взрывной рост таких прокси, если ранее создание прокси было больше порывом доброй воли или благотворительностью, то сейчас — чем больше пользователей на вашем прокси = тем больше подписчиков у канала —> рекламу можно продать дороже.
Источник
Новый MTProto-прокси сервер от Telegram
Прокси-сервер является посредником между клиентом и сервером. Для обхода ограничений прокси-сервер должен быть установлен там, где нет ограничений доступа к требуемой информации, при этом не должно быть таковых ограничений и между клиентом и прокси-сервером.
Обновлённая поддержка прокси-серверов в клиентах Telegram
- Новый MTProto-прокси. Работает с родным для Telegram протоколом MTProto
- Открытый исходный код сервера на GitHub
- Docker-образ на DockerHub
- В мобильных клиентах появилась возможность добавлять несколько прокси-серверов каждого типа. Пользователь может выбрать наиболее подходящий
MTProto-прокси
Быстрый старт
Для запуска собственного MTProto-прокси сервера требуется только машина с установленным Docker и доступом в сеть. На порту 443 не должно ничего быть (nginx, apache). При первом запуске прокси-сервера будет создан секретный ключ, который будет запомнен. Запуск одной командой:
Для просмотра информации о секретном ключе и специальных ссылках посмотрите журнал контейнера командой:
Надо учитывать, что прокси-сервер будет пытаться «угадать» параметры для ссылок, поэтому IP и порт могут быть неточными и требовать коррекции.
Секретный ключ
Можно устанавливать свой собственный секретный ключ через переменную окружения SECRET:
При корпоративном использовании прокси-сервера (группами пользователей) можно использовать несколько ключей (до 16). Например, я для корпоративных установок выделяю такие группы пользователей: boss, managers, users. Для каждой из них генерирую свой ключ. В случае компрометации (утечки на сторону) ключа, меняю его для группы. В чем проблема компрометации ключа? В трафике. Количество подключений может полностью заполнить канал к вашей машине. Также можно сделать систему ротации ключей.
Для установки нескольких ключей их надо перечислить через запятую:
Или можно задать желаемое количество ключей для автогенерации через переменную SECRET_COUNT (не больше 16):
Для генерации своего ключа можно воспользоваться, например, одной из команд в Linux:
Производительность
Каждый процесс прокси-сервера может обрабатывать десятки тысяч подключений. Для лучшей производительности стоит ограничение 60000 подключений на одно ядро процессора. По умолчанию запускается два процесса прокси-сервера (с предположением, что каждому система выделит по ядру). Можно увеличить количество запускаемых процессов через переменную WORKERS. Не следует запускать их больше, чем на процессоре имеется ядер:
Использование сети
В примере специально дан ключ —net=host . Это позволяет избежать избыточной трансляции адресов и позволяет использовать IPv6 прямо из коробки без настройки, если он есть на той машине, на которой запускается proxy-server.
Конечно же, можно запустить и более классическим способом, указав проброс портов:
Можно указать и какой-нибудь другой порт, например:
Учтите, что прокси-сервер ничего не знает о «настоящем» порте и ссылка будет неправильная, её надо будет корректировать.
Мониторинг
MTProto-прокси сервер представляет некоторую статистику по своей работе. Статистика предоставляется только на localhost: http://localhost:2398/stats .
При запуске прокси-сервера через docker с параметром —net=host для получения статистики достаточно команды: curl http://localhost:2398/stats , или проксирования через, например, nginx куда-нибудь наружу. При запуске прокси-сервера через docker с пробрасыванием портов статистику можно получить командой:
Некоторые метрики:
- ready_targets — количество серверов Telegram, c которыми будет пытаться соединиться прокси-сервер
- active_targets — количество подключений к серверам Telegram (в теории должно совпадать с ready_targets)
- total_special_connections — количество входящих соединений клиентов
- total_max_special_connections — максимальное возможное количество одновременных соединений
Реклама
Telegram позволяет монетизировать прокси-сервер через подписку на Promoted-канал. Promoted-канал — это такой канал, на который вы автоматически будете подписаны при подключении к прокси-серверу. Он будет закреплен наверху списка чатов и его нельзя удалить пока вы не отключитесь от данного прокси-сервера.
Для настройки Promoted-канала следует у специального бота @MTProxybot получить код и передать его в переменной TAG при запуске сервера:
Этот параметр не запоминается, его надо задавать каждый раз при создании и пересоздании контейнера.
Promoted-канал будет показываться наверху с соответствующей пометкой для тех клиентов, которые используют данный прокси-сервер. Если подписаться на канал, то пометки не будет.
Обновление прокси-сервера
Разработчики MTProto-прокси будут стараться делать минимум изменений, но рекомендуют обновлять прокси-сервер хотя бы раз в сутки:
Docker Compose
Для использования Promoted-каналов не забудьте добавить переменную TAG.
Источник
Telegram MTPROTO Proxy — всё что мы знаем о нём
Сразу после событий с блокировками 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 версия (не Х) сразу после этого, мы должны увидеть новый пост от команды с рассказом о том, почему это хорошо и как жить дальше.
А потестировать где?
На просторах чатов в телеграмм был найден полу-официальный прокси который прекрасно работает с новым протоколом и (похоже) запущен одним из разработчиков, собственно вот он:
Но и это еще не все, энтузиасты на Github методом анализа исходников пытаются сделать свои прокси сервера (пока официального еще нет), вот (PHP) пару (C#) проектов (Rust).
PS А еще в самой свежей версии библиотеки для VOIP звонков которая используется в telegram найдена поддержка режима конференций, похоже скоро будет сразу два больших анонса.
UPD: MTProto proxy — в данный момент часть инфраструктуры Telegram и когда телеграм «бегает» от блокировок — он именно множит и переносит копии своего MTProto Proxy между хостерами, сами же обрабатывающие сервера никуда не переезжают. Таким образом, в скором времени, Telegram позволит часть своей инфраструктуры развернуть у себя. (Протокол «родных» прокси может отличатся от того, что телеграм в данный момент реализует у себя в клиентах под названием MTPROTO)
UPD: Аналогичный пост от Анны (Vee Security) по поводу видов прокси в Telegram и про MTProto Proxy (включая разбор конкретного вида шифрования)
UPD: Самая стабильная версия сервера MTProto (на мой взгляд) — на Rust, доступна на Github github.com/dotcypress/mtproxy
Самый простой вариант для запуска «своего» прокси:
Вместо proxy secret — стоит указать свою фразу на основе которой будет сгенерирован ключ
Источник