Установка MTProto Proxy (CentOS 7)

Установим необходимые пакеты:
yum groupinstall "Development Tools"
yum install openssl-devel zlib-devel libtool perl-core git curl

Будем ставить в /opt:
cd /opt

Качнём и распакуем:
curl -O https://www.openssl.org/source/openssl-1.1.1a.tar.gz
tar -xzvf openssl-1.1.1a.tar.gz

Компиляция исходного кода:
cd openssl-1.1.1a
./config
make
make install

Расскажем ОС о новых либах:
#ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/
#ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/
echo '/usr/local/lib64' > /etc/ld.so.conf.d/openssl.conf
ldconfig

#Подменим бинари:
#mv /usr/bin/openssl /usr/bin/openssl_old
#ln -s /usr/local/bin/openssl /usr/bin/
#alternatives --install /usr/bin/openssl openssl /usr/local/bin/openssl 50


Клонируем исходный код MTProto из git, будем ставить в /opt:
cd /opt
git clone https://github.com/TelegramMessenger/MTProxy

Переходим в клонированную папку:
cd MTProxy

и правим Makefile, добавив нижеуказанные параметры:
vi Makefile

--- cut ---
CFLAGS = -I/usr/local/include/openssl
LDFLAGS = -L /usr/local/lib64
--- cut ---

Компилим:
make clean; make && cd objs/bin

Скачаем примеры конфигов:
curl -s https://core.telegram.org/getProxySecret -o /opt/MTProxy/objs/bin/proxy-secret
curl -s https://core.telegram.org/getProxyConfig -o /opt/MTProxy/objs/bin/proxy-multi.conf
Сгенерим <SECRET_KEY>:
head -c 16 /dev/urandom | xxd -ps



# cat /etc/systemd/system/MTProxy.service
[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/MTProxy/objs/bin
ExecStart=/opt/MTProxy/objs/bin/mtproto-proxy --user nobody --port 8888 --http-ports 443 --address 136.244.83.22 --mtproto-secret 4b46266fc782a9fc4b3f46ad43539c2a --log /opt/MTProxy/log/mtproto.log --aes-pwd proxy-secret proxy-multi.conf --slaves 1
#ExecStart=/opt/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 8443 -S <SECRET_KEY> --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target



Разрешим запуск при старте ОС:
systemctl enable MTProxy.service

Запуск:
systemctl start MTProxy.service



Comments powered by CComment