下载
官方仓库:「9seconds/mtg」
下载的是 amd64 位的,执行文件直接放到了 /usr/local/bin/
目录下
1 2 3 4
| url="https://github.com/9seconds/mtg/releases/download/v2.1.7/mtg-2.1.7-linux-amd64.tar.gz"
curl -L $url -o mtg.tar.gz && mkdir mtg && tar -xzvf mtg.tar.gz -C mtg --strip-components 1 && mv mtg/mtg /usr/local/bin/mtg && rm -rf mtg.tar.gz mtg
|
配置
生成密钥
用的谁家的 VPS,后面就填谁的相关域名,比如我填写的 oracle.com
(就是填写和 ip 地址相关的域名)
1
| /usr/local/bin/mtg generate-secret --hex oracle.com
|
创建配置文件
内容如下
1 2 3 4 5
| secret = "ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d"
bind-to = "0.0.0.0:2333"
|
创建一个 systemd
1
| vim /etc/systemd/system/mtg.service
|
内容如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [Unit] Description=mtg - MTProto proxy server Documentation=https://github.com/9seconds/mtg After=network.target
[Service] ExecStart=/usr/local/bin/mtg run /etc/mtg.toml Restart=always RestartSec=3 DynamicUser=true AmbientCapabilities=CAP_NET_BIND_SERVICE
[Install] WantedBy=multi-user.target
|
设置开机启动
1
| systemctl daemon-reload && systemctl enable mtg && sudo systemctl start mtg
|
使用
1
| mtg access /etc/mtg.toml
|
复制里面的 tg_url
地址在 Telegram 里打开这个链接即可
后续
如果需要使用到 443 端口,实现 443 端口的复用,可以参考以下配置
Nginx 支持基于 SNI 的 4 层转发。简单说就是:识别 SNI 信息,然后直接转发 TCP/UDP 数据流。该功能由 ngx_stream_ssl_preread_module
模块提供,需要注意的是该模块属于 stream
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| stream { map $ssl_preread_server_name $name { oracle.com MT; default web; } upstream MT { server 127.0.0.1:2333; } upstream web { server 127.0.0.1:4433; } server { listen 443 reuseport; listen [::]:443 reuseport; proxy_pass $name; ssl_preread on; } }
|
MTPROTO proxy for Telegram 配置记录