MTProxy 手动安装教程(mtg 2.0)
适用场景:为 Telegram 客户端搭建一个专属 MTProxy 代理。本文记录使用 mtg 搭建 MTProxy 的基本流程,从下载二进制到输出 tg:// / t.me 分享链接。
1. 下载 mtg
wget https://github.com/9seconds/mtg/releases/download/v2.1.7/mtg-2.1.7-linux-amd64.tar.gz
下载完成后,请自行解压并将 mtg 二进制文件放到系统可执行路径中,例如 /usr/local/bin/mtg。
2. 生成密钥
mtg generate-secret --hex auca.com
示例输出:
ee3701c2a4b9d0362c042c5d9374619b2c617563612e636f6d
返回值会以 ee 开头,表示支持 Fake TLS。请保存好这个密钥,稍后要写入配置文件。
3. 创建 systemd 服务
创建服务文件:
vim /usr/lib/systemd/system/mtg.service
写入以下内容:
[Unit]
Description=mtg
[Service]
ExecStart=/usr/local/bin/mtg run /usr/local/etc/mtg/config.toml
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
4. 编写配置文件
创建配置目录和配置文件:
mkdir -p /usr/local/etc/mtg
vim /usr/local/etc/mtg/config.toml
最简配置
只配置密钥和监听端口即可启动:
secret = "ee3701c2a4b9d0362c042c5d9374619b2c617563612e636f6d"
bind-to = "127.0.0.1:10080"
完整示例配置
如果你需要更多可调参数,可以参考下面的示例:
secret = "ee367a189aee18fa31c190054efd4a8e9573746f726167652e676f6f676c65617069732e636f6d"
bind-to = "0.0.0.0:443"
concurrency = 8192
tcp-buffer = "4kb"
prefer-ip = "prefer-ipv4"
domain-fronting-port = 443
tolerate-time-skewness = "5s"
[network]
doh-ip = "9.9.9.9"
proxies = []
[network.timeout]
tcp = "5s"
http = "10s"
idle = "1m"
[defense.anti-replay]
enabled = true
max-size = "1mib"
error-rate = 0.001
[defense.blocklist]
enabled = true
download-concurrency = 2
urls = []
update-each = "24h"
[stats.statsd]
enabled = false
address = "127.0.0.1:8888"
metric-prefix = "mtg"
tag-format = "datadog"
[stats.prometheus]
enabled = true
bind-to = "127.0.0.1:3129"
http-path = "/"
metric-prefix = "mtg"
5. 启动服务
systemctl daemon-reload
systemctl enable mtg
systemctl start mtg
查看运行状态:
systemctl status mtg
6. 输出代理链接
支持生成 tg://、t.me 格式链接和二维码:
mtg access /etc/mtg.toml

验证与自查
systemctl status mtg显示 active(running)ss -lntp | grep 10080(或你配置的监听端口)确认端口监听正常journalctl -u mtg -e无报错- 用生成的
tg://链接在 Telegram 客户端中连接,发送/接收消息正常