MTProxy TLS + Gost 稳定不被墙一键安装脚本

MTProxy TLS + Gost 稳定不被墙一键安装脚本

安装MTProxyTLS

1
2
mkdir /home/mtproxy && cd /home/mtproxy
curl -s -o mtproxy.sh https://raw.githubusercontent.com/ellermister/mtproxy/master/mtproxy.sh && chmod +x mtproxy.sh && bash mtproxy.sh

服务器端口 = 9443 管理端口 = 8099

开机自动启动

开机启动脚本,如果你的rc.local文件不存在请检查开机自启服务。通过编辑文件/etc/rc.local将如下代码加入到开机自启脚本中:

1
cd /home/mtproxy && bash mtproxy.sh start > /dev/null 2>&1 &

中转加持

client –> 中转端服务器 server(中国) –> mtproxy server(落地海外)

下载gost,分别安装在中转落地

最新版下载地址:https://github.com/ginuerzh/gost/releases

一键gost https://github.com/KANIKIG/Multi-EasyGost

1
2
3
wget https://github.com/ginuerzh/gost/releases/download/v2.11.2/gost-linux-amd64-2.11.2.gz
gzip -d gost-linux-amd64-2.11.2.gz
mv gost-linux-amd64-2.11.2  gost

中转服务器: 三丰云20M BGP 端口 6443(客户端)

1
./gost -L=tcp://:6443 -L=udp://:6443 -F=forward+mtls://96.45.176.82:9443?mbind=true>/dev/null 2>&1 &

监听 6443 端口的 TCP 和 UDP 数据,并将其转发给96.45.176.82 落地服务器的 9443 端口。

落地服务器 端口 9443(服务端)

1
2
3
4

./gost -L=mtls://:9443/127.0.0.1:6443>/dev/null 2>&1 &

./gost -L=mtls://:9443/111.67.204.154:6443>/dev/null 2>&1 &

监听 9443 端口(落地服务器)数据,并将其转发给 6443 (中转服务器)端口 (mtproxy)

解释:

  • -L参数,协议层默认为是HTTP & SOCKS5
  • -F参数,协议层默认为是HTTP类型
  • mtls - Multiplex TLS,在TLS上增加多路复用功能 (2.5+)
  • mbind=true 客户端通过参数开启 SOCKS5 的 BIND 多路复用模式,远程端口转发可以利用这个特性提高传输效率。

shell中可能经常能看到:>/dev/null 2>&1 命令的结果可以通过 %> 的形式来定义输出,其中 %> 代表文件描述符

我们将这个命令组合:“>/dev/null 2>&1” 拆为四部分来分析下:

1:首先 0> 表示stdin标准输入; 1> 表示stdout标准输出; 2> 表示stderr错误输出; 2:符号 > 等价于 1> (系统默认为1,省略了先); 所以">/dev/null"等同于 “1>/dev/null” 3:/dev/null 代表空设备文件 4:& 可以理解为是"等同于"的意思,2>&1,即表示2的输出重定向等同于1 因此,>/dev/null 2>&1 也可以写成“1> /dev/null 2> &1” 那么本文标题的语句执行过程为: 1>/dev/null:首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。 2>&1 :接着,将标准错误输出重定向到标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。


用户只需要在 Telegram 中配置伊朗的服务器 IP 和端口就可以实现连接到 mtproxy 代理服务器。

这个方法解决了同一 IP 被大量用户同时访问连接的问题,在 firewall 看来,只有一台服务器对外提供服务。

而对于在中国境内的流量被封锁的规则和程度都很小,这种方式也是目前比较稳定的做法。

这是一个墨茶的博客
Built with Hugo
主题 StackJimmy 设计