基于 Debian 发行版搭建 MTProto 代理

后知后觉 暂无评论

MTProto 是 Telegram 推出的专用代理协议,数据流自带强加密,具有一定的抗干扰特性。

简介

协议数据包构造如图

数据包(!AVIF)

更加详细的协议说明详见其官网说明

部署

处理依赖

此程序需要的依赖有两个 opensslzlib

sudo apt install git curl build-essential libssl-dev zlib1g-dev
sudo yum install openssl-devel zlib-devel
sudo yum groupinstall "Development Tools"

克隆代码

前往代码文件夹

cd /usr/local/src/

克隆仓库代码

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

编译

make && cd objs/bin

编译完成后将二进制文件移动至统一管理目录

sudo mkdir /opt/MTProxy/
sudo mv mtproto-proxy /opt/MTProxy/

使用

切换至工作目录

cd /opt/MTProxy/

密码文件

从 Telegram 服务器获得密码文件

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

配置文件

获得当前 Telegram 配置文件

sudo curl -s https://core.telegram.org/getProxyConfig -o proxy-multi.conf
小贴士:此文件偶尔会更新,因此建议每日尝试更新一次,可使用定时任务等进行实现。

用户密码

创建用户使用的密钥

head -c 16 /dev/urandom | xxd -ps
小贴士:此命令的输出字符串请记录,后续操作会使用到,本文以 77373323443727804b52859956e2c3e0 为例。

创建守护单元

写入单元 /etc/systemd/system/MTProxy.service

[Unit]
Description=MTProxy
After=network.target

[Service]
Type=simple
WorkingDirectory=/opt/MTProxy
ExecStart=/opt/MTProxy/mtproto-proxy -u nobody -p 8888 -H 443 -S 77373323443727804b52859956e2c3e0 --aes-pwd proxy-secret proxy-multi.conf -M 1
Restart=on-failure

[Install]
WantedBy=multi-user.target

单元内参数说明

参数数值说明
-H443服务监听端口
-SN/A用户密码
-M1工作进程数(越大可接纳用户数越多)

写入单元后需要重载系统守护进程

sudo systemctl daemon-reload

使用方法

命令功能
systemctl start MTProxy启动服务
systemctl restart MTProxy重启服务
systemctl status MTProxy查看服务状态
systemctl enable MTProxy启用服务自启动

在客户端中输入服务地址、端口、用户密码即可开始使用。


附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。