February 5, 2019

Установка MTProto Proxy на Ubuntu 16.04 или Debian 9

Пошаговая инструкция:

1. Подготовка

# apt-get update

# apt-get upgrade

# apt install -y zlib1g-dev libssl-dev git

# apt install build-essential

# cd /home/someuser/

# adduser mtproxy

# chsh mtproxy

/bin/false

2. Клонируем исходники и собираем

# git clone https://github.com/TelegramMessenger/MTProxy.git

# cd MTProxy/

# make

3. Перемещаем готовый бинарник в директорию /opt/mtproxy

# mkdir -p /opt/mtproxy/ && mv objs/bin/mtproto-proxy /opt/mtproxy/

4. Генерируем secret

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

5. Создаем стартовый файлик /opt/mtproxy/start.sh:

# nano /opt/mtproxy/start.sh

rm /opt/mtproxy/proxy-secret

curl -s https://core.telegram.org/getProxySecret -o /opt/mtproxy/proxy-secret

rm /opt/mtproxy/proxy-multi.conf

curl -s https://core.telegram.org/getProxyConfig -o /opt/mtproxy/proxy-multi.conf

/opt/mtproxy/mtproto-proxy -u mtproxy -p 8888 -H 443 -S ваш_secret_сгенерированный_на_шаге_4 --aes-pwd /opt/mtproxy/proxy-secret /opt/mtproxy/proxy-multi.conf

# chmod +x /opt/mtproxy/start.sh

6. Создаем файл сервиса /etc/systemd/system/mtproxy.service:

# nano /etc/systemd/system/mtproxy.service

[Unit]

Description=MTProxy

After=multi-user.target

[Service]

Type=simple

ExecStart=/bin/bash /opt/mtproxy/start.sh

Restart=always

RestartSec=30

[Install]

WantedBy=multi-user.target

# systemctl daemon-reload

# systemctl start mtproxy

# systemctl status mtproxy

# systemctl enable mtproxy

# lsof -ni | grep https

7. Устанавливаем ежесуточный рестарт сервиса в крон.

Это нужно чтобы наш прокси периодически получал список новых адресов серверов.

# crontab -e

1 1 * * *    systemctl restart mtproxy

Получить статистику прокси можно так:

# wget http://localhost:8888/stats