MTG Proxy协议的搭建 作者: Hogwarts 发布于: 2021-03-23 更新于: 2021-05-13 分类: 红杏出墙 用Telegram的同学都知道,Telegram用的是Mtg协议,可是鉴于目前的网络状况,搭建完之后几乎秒封。不得不采用一些软件曲线救国。其实Mtg协议可以增加Tls混淆,正常使用。 Mtg在Github上本人仅知道两位大神的:一是9seconds,二是alexbers。两位大神在Github上将基本搭建和Docker搭建的方法讲的很清楚了,其中alexbers的使用方法在GitHub上有视频介绍,本文不再阐述;小说一下9seconds大神的Mtg使用方法。 # 一、Mtg安装运行 ## 1.1 下载到运行目录 mkdir /usr/local/bin #如有此目录无需创建 wget https://github.com/9seconds/mtg/releases/download/v2.0.0/mtg-linux-amd64 -O /usr/local/bin/mtg chmod +x /usr/local/bin/mtg ## 1.2 生成密钥 /usr/local/bin/mtg generate-secret --hex amazon.com //生成密钥,需修改网址 ee68b02d0acd0d6d4f1251d6483d72eba169312e6864736c622e636f6d //假设这是生成的密钥,注意是ee开头的。 - **说明:**amazon.com为要混淆的网站,尽量为VPS所在地的知名网站或大学或镜像站等。 ## 1.3 建立mtp.toml配置文件 vim /etc/mtg/mtg.toml #输入以下内容 secret = "ee68b02d0acd0d6d4f1251d6483d72eba169312e6864736c622e636f6d" bind-to = "0.0.0.0:port" #port一般为443 - **说明:**监听443端口,也可改为其它端口,比如3389等。 ## 1.4 加入开机启动 vim /etc/systemd/system/mtg.service #输入以下内容 [Unit] Description=mtg [Service] User=nobody ExecStart=/usr/local/bin/mtg run /etc/mtg/mtg.toml Restart=always RestartSec=3 [Install] WantedBy=multi-user.target - 执行下面的命令 chown -R nobody:root /usr/local/bin/mtg #给予执行权限 chown -R nobody:nobody /etc/mtg/mtg.toml #给予执行权限 (debian下一般为chown -R nobody:nogroup /etc/mtg.toml) systemctl daemon-reload systemctl enable mtg systemctl start mtg systemctl status mtg 如果因用户权限问题报错的话,可将mtg.service中的“User=nobody”删除,且无需运行两个chown命令。 ## 1.5 显示配置信息 **运行命令**:`/usr/local/bin/mtg access /etc/mtg/mtg.toml` - 运行命令后会显示链接、二维码等信息。 - 客户端可以手动修改IP为域名比较好些。(也没啥用,ping一下就现原形) # 二、与其它软体共存 - 一台VPS一般不可能让Mtg单独占用443端口,实在是资源的浪费。或者用一台吃灰的VPS也可以,要经常使用的话,还要保证线路质量,所以说一般不会用线路不好的吃灰的VPS滴。 - 说到共存本人还是推荐TLS分流器,毕竟搭建成功过。如何搭建就不多做讲解了。仅将需注意的地方稍作说明。 ## 2.1 修改TLS分流器配置 vim /etc/tls-shunt-proxy/config.yaml 增加如下内容 -name:amazon.com #修改混淆的网站 tlsoffloading: false default: handler: proxyPass args: 127.0.0.1:Mtgport #转给mtg的内部端口 #注意yaml文件的格式 - 重启分流器 systemctl restart tls-shunt-proxy systemctl status tls-shunt-proxy.service **分流器的安装参考:**`https://winamp.top/archives/74.html` ## 2.2 修改Mtg的配置文件 vim /etc/mtg/mtg.toml 将bind-to = "0.0.0.0:port"的内容修改为 bind-to = "127.0.0.1:port" #修改与TLS分流器转发端口一致。 - 重启Mtg systemctl daemon-reload systemctl restart mtg systemctl status mtg # 三、项目地址 **9seconds:**`https://github.com/9seconds/mtg` **alexbers:**`https://github.com/alexbers/mtprotoproxy` # 四、结语 - 目前9seconds的mtg第1版本现在正式处于维护模式。这意味着不会再增加任何新功能或改进。除了严重的错误之外,其他错误不会被修复。 - **第2版拥有积极的支持,错误修复等;并积极的开发和维护中。** - 期待第3版的诞生。 标签: mtg
评论已关闭