Быстрая установка Telegram MTProto Proxy на Debian 9

Описывается установка более устойчивого и надежного, чем обычные прокси типа Dante, официального прокси для Telegram Messenger от самого Телеграма.

Установите OpenSSL, если еще не установлен.

sudo apt install libssl-dev

Скачайте и скомпилируйте MTProxy.

cd ~
git clone https://github.com/TelegramMessenger/MTProxy.git
cd MTProxy/
make

Разместите рабочие файлы по своим местам.

sudo cp objs/bin/mtproto-proxy /usr/bin/
sudo chmod 775 /usr/bin/mtproto-proxy
cd /etc
sudo mkdir mtproto-proxy
cd mtproto-proxy
sudo curl -s https://core.telegram.org/getProxySecret -o proxy-secret
sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf

Сгенерите секретный ключ

head -c 16 /dev/urandom | xxd -ps

Настройте автозапуск и управление прокси-сервером. Создайте конфигурационный файл

sudo nano /etc/systemd/system/mtproto-proxy.service

и скопируйте в него это содержимое

[Unit]
Description=MTProxy
After=network.target
[Service]
ExecStart=/usr/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S <SECRET_KEY> —aes-pwd /etc/mtproto-proxy/proxy-secret /etc/mtproto-proxy/proxy-multi.conf -M 1
[Install]
WantedBy=multi-user.target

<SECRET_KEY> замените на секретный ключ из п.4
Если сервер находится за NAT, нужно добавить в ExecStart параметр:
‘—nat-info :’

Последовательно запустите команды (потребуется несколько раз ввести пароль вашей учетной записи)

systemctl daemon-reload
systemctl enable mtproto-proxy
systemctl start mtproto-proxy

Готово. Отправьте будущим пользователям прокси ссылку для автоматической установки, указав адрес сервера и ключ (ссылка автоматически откроется у тех, кто установил приложение с поддержкой MTProxy и автоматически же добавит прокси в настройки приложения)

tg://proxy?server=<SERVER_NAME_OR_IP>&port=443&secret=<SECRET_KEY>

Посмотреть статистику работы прокси можно, скачав файл stats

curl localhost:8888/stats

Для того чтобы наш прокси периодически получал список новых адресов серверов тележеньки:

sudo EDITOR=nano crontab -e

0 * * * * systemctl restart mtproto-proxy

Для тех кому лень обновлять (когда/если будут обновления)

sudo mkdir /opt/mtproxy

sudo nano /opt/mtproxy/upd.sh

rm -rf /root/MTProxy
cd /root
git clone https://github.com/TelegramMessenger/MTProxy.git
cd /root/MTProxy
make
systemctl stop mtproto-proxy
rm /usr/bin/mtproto-proxy
cp /root/MTProxy/objs/bin/mtproto-proxy /usr/bin/
systemctl daemon-reload
systemctl start mtproto-proxy

EDITOR=nano crontab -e

0 * * * * bash /opt/mtproxy/upd.sh