MTProxy - прокси для Telegram
Краткое описание протокола MTProto в wikipedia
Подробная инструкция по сборке из исходников доступна на github
Debian/Ubuntu
Debian 8/9: не тестировал
Ubuntu 18.04: работает
Пакеты неободимые для сборки из исходных кодов
# apt install git curl build-essential libssl-dev zlib1g-dev # yum install openssl-devel zlib-devel # yum groupinstall "Development Tools"
Загружаем через git, компилируем, копируем бинарник в /opt
# cd /tmp # git clone https://github.com/TelegramMessenger/MTProxy # cd MTProxy # make # mkdir /opt/telegram # cp objs/bin/mtproto-proxy /opt/telegram/ # cd /opt/telegram # curl -s https://core.telegram.org/getProxySecret -o proxy-secret # curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
Генерируем секретный ключ
head -c 16 /dev/urandom | xxd -ps
Пробный запуск
./mtproto-proxy -u nobody -p 8888 -H 8443 -S [secret_key] --aes-pwd proxy-secret proxy-multi.conf -M 1
Если ок, то делаем unit файл /etc/systemd/system/telegram.service
[Unit] Description=Telegram Proxy After=network.target [Service] Type=simple WorkingDirectory=/opt/telegram ExecStart=/opt/telegram/mtproto-proxy -u nobody -p 8888 -H 8443 -S [secret_key] --aes-pwd proxy-secret proxy-multi.conf -M 1 -P [proxy_tag] Restart=on-failure [Install] WantedBy=multi-user.target
Proxy tag нужен для рекламы своего канала.
Осталось добавить в автозагрузку и запустить
# systemctl daemon-reload # systemctl enable telegram # systemctl start telegram
CentOS
CentOS 7: работает
Спасибо Danila Vershinin за готовые RPM для CentOS.
–> Копипаст#
yum -y install https://extras.getpagespeed.com/release-el7-latest.rpm yum -y install mtproxy systemctl enable mtproxy systemctl start mtproxy
Ключ для подключения MTPROXY_SECRET находится в /etc/mtproxy/secret
on the server. This will give you something like this:
Порт для подключения MTPROXY_CLIENT_PORT находится в /etc/mtproxy/mtproxy.params
←-
Во многих статьях почему-то упоминаются проблемы с openssl при сборке из исходного кода.
С данной версией openssl проблем не обнаружил:
# openssl version OpenSSL 1.0.2k-fips 26 Jan 2017
Ошибка была только на этапе генерации секретного ключа
# head -c 16 /dev/urandom | xxd -ps -bash: xxd: command not found
Разбираться некогда или даже скорее незачем, поэтому делаем, как советуют:
# yum install vim-common
BotFather
Если вы еще не подписались на канал зашерили френдам свой прокси для телеги, то самое время это сделать.
Ссылки выглядят так:
- tg://proxy?server=1.2.3.4&port=8443&secret=[secret_key]
Хотя проще прислать QR-код из приложения.
После недолгой и душевной беседы с @MTProxybot получаем proxy tag и добавляем его через ключ -P в скрипт запуска (systemd юнит или еще куда-то).
добавить скриншотов будет очень кстати
Обсуждение