MTProxy TLS
MTProxy TLS
脚本安装
一、MTProxy
Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram.
开源github:https://github.com/missuo/MTProxy
Supportability
- X86_64
- ARM_64
Installation
1 | bash <(curl -Ls https://qwq.mx/mtg) |
Due to the CDN cache, jsdelivr link may not be the latest.
1 | bash <(curl -Ls https://cdn.jsdelivr.net/gh/missuo/MTProxy/mtproxy.sh) |
二、MTProxy TLS 绿色版一键安装脚本
安装
执行如下代码进行安装
1 | ## 新建目录 |
使用
运行服务
1 | bash mtproxy.sh start |
调试运行
1 | bash mtproxy.sh debug |
停止服务
1 | bash mtproxy.sh stop |
重启服务
1 | bash mtproxy.sh restart |
卸载安装
因为是绿色版卸载极其简单,直接删除所在目录即可。
1 | rm -rf /home/mtproxy |
开机启动
1 | chmod 755 /home/mtproxy/mtproxy.sh |
三、Mtproto Proxy Go版
因为go版mtproxy代码更新了抗重放攻击等功能后,原作者没有直接放出编译好的程序,所以根据逗比原版一键脚本魔改,直接拉取最新代码进行编译,最新版已经支持 TLS 伪装
脚本说明: Mtproto Proxy Go版 一键编译安装管理脚本
系统支持: CentOS6+ / Debian7+ / Ubuntu14+
使用参考: https://doubibackup.com/es5fj9se.html
1 | wget -N --no-check-certificate https://github.com/whunt1/onekeymakemtg/raw/master/mtproxy_go.sh && chmod +x mtproxy_go.sh && bash mtproxy_go.sh |
配置文件在 /usr/local/mtproxy-go/mtproxy.conf ,可以手动修改,配置项详细介绍参见 mtg 文档
go 安装目录在 /tmp/go ,可以手动删除
四、MTPPoxy
这是一个一键安装 MTProxy 代理的绿色脚本,脚本可以在官方版本的 MTProxy 程序和兼容性最强的第三方作者开发的 mtg 程序中进行选择静态安装或者编译,该版本默认支持 Fake TLS 以及 AdTag 配置
如果你反复遇到错误或者其他未知问题, 建议更换为 Debian 9+ 以上的系统或采用 Docker 方式运行
安装
1 | rm -rf /home/mtproxy && mkdir /home/mtproxy && cd /home/mtproxy |
使用方式
配置文件 mtp_config
,如果你想手动修改密钥或者参数请注意格式。
运行服务
1 | bash mtproxy.sh start |
调试运行
1 | bash mtproxy.sh debug |
停止服务
1 | bash mtproxy.sh stop |
重启服务
1 | bash mtproxy.sh restart |
重新安装/重新配置
1 | bash mtproxy.sh reinstall |
卸载安装
因为是绿色版卸载极其简单,直接删除所在目录即可。
1 | rm -rf /home/mtproxy |
开机启动
该脚本没有配置为系统服务的方式,你可以将其添加到开机启动脚本中。
开机启动脚本,如果你的 rc.local 文件不存在请检查开机自启服务。
通过编辑文件/etc/rc.local
将如下代码加入到开机自启脚本中:
1 | cd /home/mtproxy && bash mtproxy.sh start > /dev/null 2>&1 & |
计划任务守护
由于默认官方的 mtproxy 程序存在BUG,在 pid 大于 65535 时进程处理存在问题,进程容易坏死和异常退出。
因此建议通过计划任务去守护进程 crontab -e
:
每分钟检测进程并启动
1 | * * * * * cd /home/mtproxy && bash mtproxy.sh start > /dev/null 2>&1 & |
Docker安装
该镜像集成了 nginx、mtproxy+tls 实现对流量的伪装,并采用白名单模式来应对防火墙的检测。
如果没有安装Docker,一键安装方式如下:
1 | curl -fsSL https://get.docker.com -o get-docker.sh |
创建白名单镜像:
1 | docker run -d \ |
在日志中查看链接的参数配置:
1 | docker logs -f mtproxy |
注意:请注意修改端口为你的 docker 映射的端口,镜像默认开启了 IP 段白名单
你可以在创建时指定 secret、tag、 domain:
1 | docker run -d \ |
ip_white_list
选项:
- OFF 关闭白名单
- IP 开启 IP 白名单
- IPSEG 开启 IP 段白名单
secret
指定密钥:如果你想创建已知的密钥,格式为:32位十六进制字符。
domain
: 伪装的第三方有效域名,需要 TLS1.2 以上
provider
代理提供者
- 1 telegram 官方代理程序 (只支持 x86_64)
- 2 mtg 第三方代理程序
容器内端口:
- 443 端口为 nginx 接管处理,需要使用该端口才有白名单的效果
- 8443 端口为 mtproxy 程序接管,如果你直接映射到该端口,则会绕过 nginx 的转发
- 80 端口为 nginx 网站端口,当用户访问网站指定文件时,则会为其添加白名单许可
使用:
该镜像采用白名单模式,来应对爬虫和防火墙探测。
默认所有访客都不被允许连接,只有当访客尝试访问了下面的地址,才会将访客IP加入到白名单中。
IP 和端口取决于你 docker 的配置:
1 | http://ip/add.php |
service
Stop service / 停止服务
1 | docker stop mtproxy |
Start service / 启动服务
1 | docker start mtproxy |
Restart service / 重启服务
1 | docker restart mtproxy |
Delete service / 删除服务
1 | docker rm mtproxy |
Auto Run / 开机自启
1 | docker update --restart=always mtproxy |