Telegram MTProto代理搭建:中国用户无VPN访问Telegram
Telegram在中国被GFW封锁,但Telegram官方支持MTProto代理协议,允许任何人搭建代理服务器帮助受审查地区的用户连接。与VPN不同,MTProto代理是Telegram专用的,其他流量不经过代理服务器。本教程指导你在AnubizHost VPS上搭建MTProto代理。
Need this done for your project?
We implement, you ship. Async, documented, done in days.
MTProto代理工作原理
MTProto是Telegram自研的加密协议,MTProto代理是一种专门中转Telegram流量的服务器。工作方式:
- Telegram客户端连接到代理服务器(境外IP)
- 代理服务器将流量转发到Telegram服务器
- GFW看到的是你连接到代理服务器(境外普通IP),看不到你在使用Telegram
与VPN的区别:MTProto代理只代理Telegram流量,不影响其他应用的网络连接。这使它更轻量,也更专用。
混淆(Fake-TLS模式):原始MTProto代理流量有一定特征,GFW可以识别。混淆版本(mtg等工具)将Telegram流量伪装为普通HTTPS连接,大幅提升可用性。
使用mtg搭建混淆MTProto代理
mtg是目前最推荐的MTProto代理工具,支持Fake-TLS混淆:
下载和安装:
curl -fL -o /usr/local/bin/mtg https://github.com/9seconds/mtg/releases/latest/download/mtg-linux-amd64
chmod +x /usr/local/bin/mtg生成密钥:
mtg generate-secret --hex fakeTLS bing.com输出类似:ee79a62b6e7540a9bce8bb3b92bc26d2737777772e62696e672e636f6d
这个密钥包含了伪装域名(bing.com),修改伪装域名会改变流量特征。
启动服务:
mtg run 或者以systemd服务形式运行:
cat > /etc/systemd/system/mtg.service << 'EOF'
[Unit]
Description=MTProto Proxy
[Service]
ExecStart=/usr/local/bin/mtg run YOUR_SECRET
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl enable mtg && systemctl start mtg在Telegram客户端配置代理
mtg默认监听端口443(可修改)。客户端配置方式:
方式一:分享链接
mtg会生成一个分享链接(格式:tg://proxy?server=IP&port=443&secret=SECRET),点击链接在Telegram中自动添加代理。
方式二:手动配置
- Telegram Settings -> Data and Storage -> Proxy
- 点击「Add Proxy」
- 选择「MTProto」
- 填入服务器IP、端口443、密钥(你生成的SECRET)
- 保存并选中该代理
验证连接:代理配置成功后,Telegram顶部会显示代理图标(盾牌)。如果没有显示,检查VPS防火墙是否放行了443端口。
性能优化与维护
带宽限制:如果你的代理公开分享,可能有大量用户连接。建议在mtg配置中设置用户数量上限,或限制带宽,避免影响VPS上的其他服务。
安全考虑:
- 不要在中国境内的服务器上运行MTProto代理(无意义且可能违法)
- 定期更换密钥(防止密钥被枚举并封锁)
- 如果用于私人使用,不要公开发布代理信息
更换伪装域名:如果某个伪装域名(如bing.com)被GFW针对性封锁,重新生成密钥,选择其他大型网站(microsoft.com, apple.com)作为伪装域名,重启mtg服务。
Related Services
Why Anubiz Host
Ready to get started?
Skip the research. Tell us what you need, and we'll scope it, implement it, and hand it back — fully documented and production-ready.