这是一个一键安装 MTProxy 代理的绿色脚本,脚本可以在官方版本的 MTProxy 程序和兼容性最强的第三方作者开发的 mtg 程序中进行选择静态安装或者编译,该版本默认支持 Fake TLS 以及 AdTag 配置。
在此基础上,提供了 Nginx 作为前端转发,MTProxy 作为后端代理的方式以实现安全的伪装。并且在 Nginx 转发层进行配置了 IP 白名单,只有通过白名单认证过的 IP 才可以进行访问。
此功能提供了 Docker 镜像以便开箱即用。
Telegram 群组:https://t.me/EllerHK
提供了两种安装方式可供选择:
-
使用脚本
选择该方式一般是你在宿主机中进行直接安装或者编译,会或多或少需要安装一些系统基础依赖库。
-
使用 Docker
小白建议使用 Docker! 不会对宿主机造成污染,如果你需要修改一些配置文件,需要你稍微学习一些基础 Docker 使用技术。
如果你反复遇到错误或者其他未知问题, 建议更换为 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
该镜像集成了 nginx、mtproxy+tls 实现对流量的伪装,并采用白名单模式来应对防火墙的检测。
若使用该 Docker 镜像, 就不需要用脚本了,二者二选一,不要搞混了。
如果没有安装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
镜像默认开启了 IP 段白名单
如果你不需要可以配置 ip_white_list="OFF"
取消:
docker run -d \
--name mtproxy \
--restart=always \
-e domain="cloudflare.com" \
-e secret="548593a9c0688f4f7d9d57377897d964" \
-e ip_white_list="OFF" \
-p 8080:80 \
-p 8443:443 \
ellermister/mtproxy
ip_white_list
选项:
- OFF 关闭白名单
- IP 开启 IP 白名单
- IPSEG 开启 IP 段白名单
secret
指定密钥:如果你想创建已知的密钥,格式为:32位十六进制字符。
在日志中查看链接的参数配置:
docker logs -f mtproxy
连接端口记得修改为你映射后的外部端口,如上文例子中都是8443
,在连接时修改端口。
更多使用请参考: https://hub.docker.com/r/ellermister/mtproxy
配置文件 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 &
Sorry, an error has occurred during your request. Please try again later.(Code xxxxxx)
如果你在申请绑定代理推广时遇到了此类错误,官方没有给出明确的原因。根据网友反馈,此类问题多出现于账号注册不足与 2~3 年。
建议使用 3 年以上的账号以及未被 banned 的账号。