MTProto 是 Telegram 推出的专用代理协议,数据流自带强加密,具有一定的抗干扰特性。
简介
协议数据包构造如图
更加详细的协议说明详见其官网说明。
部署
处理依赖
此程序需要的依赖有两个 openssl
及 zlib
。
- 在 Debian/Ubuntu 上
sudo apt install git curl build-essential libssl-dev zlib1g-dev
- 在 CentOS/RHEL 上
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
单元内参数说明
参数 | 数值 | 说明 |
---|---|---|
-H | 443 | 服务监听端口 |
-S | N/A | 用户密码 |
-M | 1 | 工作进程数(越大可接纳用户数越多) |
写入单元后需要重载系统守护进程
sudo systemctl daemon-reload
使用方法
命令 | 功能 |
---|---|
systemctl start MTProxy | 启动服务 |
systemctl restart MTProxy | 重启服务 |
systemctl status MTProxy | 查看服务状态 |
systemctl enable MTProxy | 启用服务自启动 |
在客户端中输入服务地址、端口、用户密码即可开始使用。
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2023-12-16 14:07 PM