搭建 Telegram 专用代理服务器 MTProxy
MTProxy 是 Telegram 官方开源的一款代理工具,其直接内置于 Telegram 客户端当中,通过它我们可以很方便地连接 Telegram 而无需其它代理工具。
GitHub:
本文中所使用的系统为 CentOS 7 X86_64
接下来就是具体的安装教程。
首先,安装依赖
yum install openssl-devel zlib-devel
yum groupinstall "Development Tools"
拉取源代码
git clone https://github.com/TelegramMessenger/MTProxy
cd MTProxy
编译
make && cd objs/bin
make clean
获取用于连接 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 443 -S <secret> --aes-pwd proxy-secret proxy-multi.conf -M 1
有以下几点需要注意:
- -p 8888 为 MTProxy 本地运行的端口,可自行修改
- -H 443 为远程连接的端口,可自行修改
- -S <secret> 为连接密钥,将 <secret> 修改为刚才生成的密钥
Ctrl + c
创建 Systemd service 文件
vi /etc/systemd/system/MTProxy.service
写入以下内容
[Unit]
Description=MTProxy
After=network.target
[Service]
Type=simple
WorkingDirectory=/root/MTProxy
ExecStart=/root/MTProxy/objs/bin/mtproto-proxy -u nobody -p 8888 -H 443 -S <secret> ---aes-pwd /root/MTProxy/objs/bin/proxy-secret /root/MTProxy/objs/bin/proxy-multi.conf -M 1
Restart=on-failure
[Install]
WantedBy=multi-user.target
WorkingDirectoryExecStart
保存后重载 daemons
systemctl daemon-reload
之后就可以运行了
systemctl restart MTProxy.service
查看服务状态
systemctl status MTProxy.service
停止服务
systemctl stop MTProxy.service
最后在 Telegram 上来注册一下我们的代理服务器
打开 Telegram 添加此机器人
/newproxy
代理地址:端口密钥
https://tg://
我们还可以为自己的代理设置推广频道,之后你设置的推广频道将展示在所有使用此代理用户的对话列表中。
另外说一下搭建过程中遇到的小坑
第一次装完之后运行一切正常但就是无法连接,最后在这里找到原因
服务器时间没有校准,与本地相差超过3分钟就会无法连接。重新设置时间之后问题解决。