原文地址:传送门

安装依赖开发包openssl和zlib

CentOS / RHEL上:

yum install openssl-devel zlib-devel
yum groupinstall "Development Tools"

Debian / Ubuntu上

apt install git curl build-essential libssl-dev zlib1g-dev

克隆MTProxy的源码

源码网站:https://github.com/TelegramMessenger/MTProxy

进入/tmp目录

cd /tmp
git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy

编译安装,安装的位置在objs/bin/mtproto-proxy

make && cd objs/bin

运行程序

获取一个秘密,用于连接到电报服务器

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

获取当前的telegram的配置

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

创建并转移目录

mkdir -p /usr/local/MTProxy
mv ./* /usr/local/MTProxy/

生成一个密钥供其他用户连接到您的代理使用

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

运行mtproto-proxy服务器

输入启动命令,如果你的服务器有内网IP,如谷歌云、微软云、阿里云的需要设置NAT,那么启动命令请用第二条启动命令:

没有内网IP的启动命令

< secret >这里替换为之前生成的密钥,注意<>这个括号是不要的

./mtproto-proxy -u nobody -p 8888 -H 443 -S < secret > --aes-pwd proxy-secret proxy-multi.conf -M 1

有内网IP的启动命令

< secret >这里替换为之前生成的密钥,<内网IP>:<公网IP>替换为你服务器的内网IP和公网IP,注意<>这个括号是不要的

./mtproto-proxy -u nobody -p 8888 -H 443 -S < secret > --aes-pwd proxy-secret proxy-multi.conf -M 1 --nat-info <内网IP>:<公网IP>

这里的443为端口号,自定义你的端口号即可。
< secret >这里替换为第三步生成的密钥

可以写到启动脚本里面

[Unit]
Description=telegram proxy
Documentation=https://github.com/TelegramMessenger/MTProxy
After=network-online.target 

[Service]
Type=forking
WorkingDirectory=/usr/local/MTProxy
ExecStart=/usr/local/MTProxy/mtproto-proxy -u nobody -p 8888 -H 12001 -S 3dc46415b6b4fbb16fcbe56bfc5147a7 --aes-pwd proxy-secret proxy-multi.conf -M 1 --nat-info 10.170.0.XX:XX.220.XX.244
Restart=on-failure

[Install]
WantedBy=multi-user.target

生成telegram的代理快速连接

方法一(手动模式)

tg://proxy?server=SERVER_NAME&port=PORT&secret=SECRET

方法二(telegram机器人自动生成)

1.在telegram中搜索@MTProxybot,找到MTproxy Admin Bot添加

图

2.发送 /newproxy

3.根据提示发送代理服务器地址及端口号: 149.28.159.223:8719

4.再根据提示发送此前生成的密钥:3dc46415b6b4fbb16fcbe56bfc5147a7

5.注册完成.

图

服务器重启后如何重新启动代理服务

进入代理服务器启动目录

cd /usr/local/MTProxy

**输入启动命令,如果你的服务器有内网IP,如谷歌云、微软云、阿里云的需要设置NAT,那么启动命令请用第二条启动命令:
没有内网IP的启动命令< secret >这里替换为之前生成的密钥,注意<>这个括号是不要的**

./mtproto-proxy -u nobody -p 8888 -H 443 -S < secret > --aes-pwd proxy-secret proxy-multi.conf -M 1

有内网IP的启动命令< secret >这里替换为之前生成的密钥,<内网IP>:<公网IP>替换为你服务器的内网IP和公网IP,注意<>这个括号是不要的

./mtproto-proxy -u nobody -p 8888 -H 443 -S < secret > --aes-pwd proxy-secret proxy-multi.conf -M 1 --nat-info <内网IP>:<公网IP>

出现问题及解决方案

有的服务器在编译时会出现编译出错的情况

cd MTProxy
vi Makefile

把里面的-std=gnu11删除,即可正常编译

图

谷歌云、微软云、阿里云会出现启动后,识别为内网IP的解决方案

在原启动命令后面加入–nat-info <内网IP>:<公网IP>即可,注意<内网IP>:<公网IP>这里的<>括号是不要的

./mtproto-proxy -u nobody -p 8888 -H 443 -S < secret > --aes-pwd proxy-secret proxy-multi.conf -M 1 --nat-info <内网IP>:<公网IP>

有的主机在申请密钥的时候 输入到head -c 16 /dev/urandom | xxd -ps 这个串命令时,无法显示密钥出现下图的情况,这是因为缺少一个依赖

图

加入这条依赖即可解决这个问题

yum install vim-common

Last modification:January 31, 2020
如果觉得我的文章对你有用,请随意赞赏