RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

Инструменты пользователя

Инструменты сайта


linux:mtproxy

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

Если вы еще не подписались на канал зашерили френдам свой прокси для телеги, то самое время это сделать.

Ссылки выглядят так:

Хотя проще прислать QR-код из приложения.

После недолгой и душевной беседы с @MTProxybot получаем proxy tag и добавляем его через ключ -P в скрипт запуска (systemd юнит или еще куда-то).

FIXME добавить скриншотов будет очень кстати

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
 
linux/mtproxy.txt · Последнее изменение: 2019/02/13 02:12 — 127.0.0.1