Описывается установка более устойчивого и надежного, чем обычные прокси типа 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