最新消息:

谷歌云 Ubuntu 、Debian系统部署带伪装页面的 MTProxy 代理

科学上网 积木 288浏览 0评论

即使是使用mtg2.0,依然很容易被GFW所封锁,在找Telegram 直连解决办法时看到了两种解决思路。

一是给 MTProxy 搭建伪装网页,这个是 freejohn123 为伊朗用户提供的方案,由于GFW针对MTProxy协议精准识别,可能不适用于中国大陆地区。(2021年6月1号更新,经过验证单独使用此方法无法有效抗 GFW 封锁,建议搭配白名单使用)。

二是使用国内中隧道中转,在墙外落地机上搭建socks5或mtg代理,墙内中转机转发流量,通过socks5代理方式来实现直连 Telegram。这里需要提到的是,由于MTProto协议特征明显,千万不要用墙内的中转机搭建MTProxy,轻则被主机商删机,重则进局子喝茶。(据说跨省MTP会被精准识别)

本文便是第一种方案的教程,参考链接放在了最后面,也可以去查看英文博客教程。

需要提前准备好用来解析的域名,推荐使用二级域名。

如果是使用谷歌云需要先获取root权限

sudo -i

更新apt源

apt update && apt upgrade -y

安装git vim wget

apt install git vim wget -y

 

安装伪装网页

安装nginx

apt install nginx -y

编辑nginx 默认配置

vim /etc/nginx/sites-available/default

修改 server_name 为已经解析好的域名

 server_name demo.jimubiedao.com;

重启 nginx

systemctl restart nginx

此时可以在浏览器中输入域名,检查nginx是否正常安装。

安装https证书

安装snapd 及更新核心

apt install snapd
snap install core
snap refresh core

安装certbot

snap install --classic certbot

指定目录

ln -s /snap/bin/certbot /usr/bin/certbot

配置证书

certbot --nginx

检查证书是否自动续签

certbot renew --dry-run

此时可以在浏览器中输入https地址检查证书是否正常安装。

安装Go

下载最新版Go程序压缩包,并解压到/usr/local 目录下

wget https://golang.org/dl/go1.16.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.16.linux-amd64.tar.gz
export PATH=$PATH:/usr/local/go/bin

安装mtg

使用Git命令克隆最新mtg源码,编译安装后,将二进制文件复制到可执行路径中。

git clone https://github.com/9seconds/mtg.git
cd mtg
go build
cp mtg /usr/local/bin

配置mtg

mtg目录下运行:

生成密钥:

mtg generate-secret --hex demo.jimubiedao.com

将会生成一串ee开头的密钥,需要保存好,后面的配置文件中要填写此密钥。

配置Nginx

vim /etc/nginx/sites-available/default

将443端口改为993或其他任意端口。

 listen [::]:993 ssl ipv6only=on; # managed by Certbot 
 listen 993 ssl; # managed by Certbot

此时不要重启nginx,可能导致mtg设置失效。

为mtg创建一个系统服务文件

设置系统服务

vim /usr/lib/systemd/system/mtg.service

此时会创建一个新文件,写入配置,保存即可。

[Unit]
Description=mtg

[Service]
ExecStart=/usr/local/bin/mtg run /etc/mtg.toml
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

编辑mtg配置文件

vim /etc/mtg.toml

创建 mtg.toml 文件并写入配置。

极简配置:

只需要设置三行配置mtg即可正常运行,但更推荐使用完整配置。

secret = "ee4d9c81938450f549c68b9d4865eef2be617563612e636f6d"
bind-to = "0.0.0.0:443"
domain-fronting-port = 993

完整配置:

想要理解完整配置参数建议查看mtg项目主页,下面的中文内容为机器翻译,准确性不佳。

最后开启mtg

systemctl daemon-reload
systemctl enable mtg
systemctl start mtg

输出 MTProxy 代理链接:

支持tg、t.me格式链接还有二维码。

mtg access /etc/mtg.toml

复制 qrcode 链接在浏览器打开即可使用手机扫描二维码。

此时扫描二维码发现无法使用mtp代理,这是由于nginx占用443端口导致的,重启nginx就好了。

systemctl restart nginx

然后还可以为伪装网页增加一些内容而不是使用默认的nginx欢迎页。

流量监控

iftop

如果要共享mtp代理,还可以安装流量监控工具来查看实时流量:

apt install iftop

iftop 用法运行 iftop -h

https://github.com/freejohn123/mtproto-tls-server

https://v2how.github.io/post/2021-02-18-camouflage-telegram-mtproto-proxy-ubuntu-20-04/

https://github.com/9seconds/mtg/releases

https://snapcraft.io/docs/installing-snap-on-debian

https://serverfault.com/questions/828130/how-to-run-nginx-ssl-on-non-standard-port

转载请注明:积木别倒 » 谷歌云 Ubuntu 、Debian系统部署带伪装页面的 MTProxy 代理

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址