脚本安装
一、MTProxy
Highly-opinionated (ex-bullshit-free) MTPROTO proxy for Telegram.
开源github:https://github.com/missuo/MTProxy
Supportability
- X86_64
- ARM_64
Installation
bash <(curl -Ls https://qwq.mx/mtg)
Due to the CDN cache, jsdelivr link may not be the latest.
bash <(curl -Ls https://cdn.jsdelivr.net/gh/missuo/MTProxy/mtproxy.sh)
二、MTProxy TLS 绿色版一键安装脚本
安装
执行如下代码进行安装
## 新建目录
mkdir /home/mtproxy && cd /home/mtproxy
## 开始安装
curl -s -o mtproxy.sh https://raw.githubusercontent.com/sunpma/mtp/master/mtproxy.sh && chmod +x mtproxy.sh && bash mtproxy.sh
使用
运行服务
bash mtproxy.sh start
调试运行
bash mtproxy.sh debug
停止服务
bash mtproxy.sh stop
重启服务
bash mtproxy.sh restart
卸载安装
因为是绿色版卸载极其简单,直接删除所在目录即可。
rm -rf /home/mtproxy
开机启动
chmod 755 /home/mtproxy/mtproxy.sh
vi /etc/crontab
## 加入下面这条命令后保存即可;
@reboot root nohup bash /home/mtproxy/mtproxy.sh start > /dev/null 2>&1 &
三、Mtproto Proxy Go版
因为go版mtproxy代码更新了抗重放攻击等功能后,原作者没有直接放出编译好的程序,所以根据逗比原版一键脚本魔改,直接拉取最新代码进行编译,最新版已经支持 TLS 伪装
脚本说明: Mtproto Proxy Go版 一键编译安装管理脚本
系统支持: CentOS6+ / Debian7+ / Ubuntu14+
使用参考: https://doubibackup.com/es5fj9se.html
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 方式运行
安装
rm -rf /home/mtproxy && mkdir /home/mtproxy && cd /home/mtproxy
curl -fsSL -o mtproxy.sh https://github.com/ellermister/mtproxy/raw/master/mtproxy.sh
bash mtproxy.sh
使用方式
配置文件 mtp_config
,如果你想手动修改密钥或者参数请注意格式。
运行服务
bash mtproxy.sh start
调试运行
bash mtproxy.sh debug
停止服务
bash mtproxy.sh stop
重启服务
bash mtproxy.sh restart
重新安装/重新配置
bash mtproxy.sh reinstall
卸载安装
因为是绿色版卸载极其简单,直接删除所在目录即可。
rm -rf /home/mtproxy
开机启动
该脚本没有配置为系统服务的方式,你可以将其添加到开机启动脚本中。
开机启动脚本,如果你的 rc.local 文件不存在请检查开机自启服务。
通过编辑文件/etc/rc.local
将如下代码加入到开机自启脚本中:
cd /home/mtproxy && bash mtproxy.sh start > /dev/null 2>&1 &
计划任务守护
由于默认官方的 mtproxy 程序存在BUG,在 pid 大于 65535 时进程处理存在问题,进程容易坏死和异常退出。
因此建议通过计划任务去守护进程 crontab -e
:
每分钟检测进程并启动
* * * * * cd /home/mtproxy && bash mtproxy.sh start > /dev/null 2>&1 &
Docker安装
该镜像集成了 nginx、mtproxy+tls 实现对流量的伪装,并采用白名单模式来应对防火墙的检测。
如果没有安装Docker,一键安装方式如下:
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
创建白名单镜像:
docker run -d \
--name mtproxy \
--restart=always \
-e domain="cloudflare.com" \
-p 8080:80 \
-p 8443:443 \
ellermister/mtproxy
在日志中查看链接的参数配置:
docker logs -f mtproxy
注意:请注意修改端口为你的 docker 映射的端口,镜像默认开启了 IP 段白名单
你可以在创建时指定 secret、tag、 domain:
docker run -d \
--name mtproxy \
--restart=always \
-e domain="cloudflare.com" \
-e secret="548593a9c0688f4f7d9d57377897d964" \
-e ip_white_list="OFF" \
-e provider=2 \
-p 8080:80 \
-p 8443:443 \
ellermister/mtproxy
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 的配置:
http://ip/add.php
service
Stop service / 停止服务
docker stop mtproxy
Start service / 启动服务
docker start mtproxy
Restart service / 重启服务
docker restart mtproxy
Delete service / 删除服务
docker rm mtproxy
Auto Run / 开机自启
docker update --restart=always mtproxy
评论