- PVSM.RU - https://www.pvsm.ru -

Telegram выпустил официальный MTProto Proxy Server

image

Наконец-то дождались, после пристального рассматривания и реверс инжениринга протокола MTPRoto Proxy, Telegram решил выпустить официальный вариант, с поддержкой монетизации promoted каналов, да еще и сразу в Docker образе.

Что такое MTProto Proxy

Это специфический прокси-сервер и протокол от создателей Telegram позволяющий обходить блокировки и монитизировать его использование.

Официальный прокси

В прошлой публикации [1] была представлена масса не официальных реализаций прокси сервера, многие [2] из них написаны [3] пользователями Habr.

Теперь же у нас есть и официальный вариант:

github.com/TelegramMessenger/MTProxy [4]

hub.docker.com/r/telegrammessenger/proxy [5]

Что он может?

  1. Поддерживает до 16 разных ключей на 1 прокси
  2. До 60000 подключений на 1 ядро
  3. Имеет API для сбора статистики (доступно только локально)
  4. Готовый образ в Docker
  5. Показ Promoted Каналов

Как настроить?

До безобразия просто:

docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data telegrammessenger/proxy:latest

После этого делаем:

docker logs mtproto-proxy

В качестве вывода вы получите:


####
#### Telegram Proxy
####

[+] No secret passed. Will generate 1 random ones.
[*] Final configuration:
[*]   Secret 1: afajkfhjksajkahkhkjkkk
[*]   tg:// link for secret 1 auto configuration: tg://proxy?server=127.0.0.1&port=443&secret= afajkfhjksajkahkhkjkkk
[*]   t.me link for secret 1: https://t.me/proxy?server=127.0.0.1&port=443&secret= afajkfhjksajkahkhkjkkk
[*]   Tag: no tag
[*]   External IP: 127.0.0.1
[*]   Make sure to fix the links in case you run the proxy on a different port.

[+] Starting proxy...

Собственно базовая настройка закончена

Показ Promoted канала

Eсли вы хотите показывать канал при подключении к прокси, прокси нужно зарегистрировать:
С этим поможет официальный бот @MTProxybot [6]

Ему следует отправить IP:Port + ключ, в ответ вы получите рекламный tag.

Этот tag нужно передать как параметр при запуске контейнера:

docker run -d -p443:443 --name=mtproto-proxy --restart=always -v proxy-config:/data -e TAG=ВАШ_TAG telegrammessenger/proxy:latest

Далее возвращаемся к боту, выбираем свой прокси и «Set promotion» — теперь осталось только отправить любой канал для отображения.

Вот собственно и все, теперь у вас есть официальный Telegram Proxy с Promotion каналом, который будет показыватся всем пользователям.

Дополнительные настройки

По умолчанию, при запуске будет автоматически сгенерирован ключ и сохранён в томе Docker, если вы хотите вы можете указать друой ключ:
-e SECRET=00baadf00d15abad1deaa51sbaadcafe

docker run -d -p443:443 -v proxy-config:/data -e SECRET=00baadf00d15abad1deaa51sbaadcafe telegrammessenger/proxy:latest

Или несколько:


docker run -d -p443:443 -v proxy-config:/data -e SECRET=935ddceb2f6bbbb78363b224099f75c8,2084c7e58d8213296a3206da70356c81 telegrammessenger/proxy:latest

А можете попросить сгенерировать вам несколько ключей:

docker run -d -p443:443 -v proxy-config:/data -e SECRET_COUNT=4 telegrammessenger/proxy:latest

По умолчанию запускает 2 worker'a, изменить настройку можно следующим образом:
WORKERS=16

docker run -d -p443:443 -v proxy-config:/data -e WORKERS=16 telegrammessenger/proxy:latest

Мониторинг доступен по адресу: localhost [7]:2398/stats
Получить статистику можно следующим образом:

docker exec mtproto-proxy curl http://localhost:2398/stats

ready_targets: Количество Telegram серверов которые готовы обслужить запросы с прокси
active_targets: Количество Telegram серверов обслуживающие запросы с прокси
total_special_connections: Количество входящих соединений
total_max_special_connections: Лимит входящих соединений

Автор: shifttstas

Источник [8]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/281403

Ссылки в тексте:

[1] прошлой публикации: https://habr.com/post/359348/

[2] многие: https://github.com/alexbers/mtprotoproxy

[3] написаны: https://github.com/seriyps/mtproto_proxy

[4] github.com/TelegramMessenger/MTProxy: https://github.com/TelegramMessenger/MTProxy

[5] hub.docker.com/r/telegrammessenger/proxy: https://hub.docker.com/r/telegrammessenger/proxy/

[6] @MTProxybot: https://t.me/MTProxybot

[7] localhost: http://localhost

[8] Источник: https://habr.com/post/412755/?utm_campaign=412755