Docker 搭建MTProto协议上网

系统环境: Debian系(其他系只需要更换apt为对应系统的软件包管理工具名称即可)

安装Docker

安装Docker相关工具

sudo apt update && sudo apt -y upgrade && sudo apt install -y docker docker.io docker-compose

启动docker

sudo systemctl enable docker && sudo systemctl start docker

验证是否安装成功

sudo docker run hello-world

mtg v2版本 docker运行

生成密钥

sudo docker pull baicailin/mtg
sudo docker run --rm baicailin/mtg generate-secret --hex trade.aliexpress.com
#会看到一串ee开头的密钥,形如:
eexxx44f3762c8a97d14f89df8c0174726164652e616c69657870726573732e636f6d

写入简单配置

echo "secret = \"把上面一步生成的密钥填进来\"" >config.toml
echo "bind-to = \"0.0.0.0:443\"" >>config.toml

运行docker镜像命令

sudo docker run -d -v $PWD/config.toml:/config.toml -p 443:443 --name baicai_mtg --restart=unless-stopped baicailin/mtg

docker-compose 启动(可代替上面这个命令启动方式)

一键启动 docker-compose.yaml 文件参考

version: "3"
services:
 mtg_v2:
 image: baicailin/mtg
 container_name: "mtg_v2"
 restart: unless-stopped
 command: run /config.toml
 volumes:
 - ./config.toml:/config.toml
 environment:
 TZ: Asia/Shanghai
 ports:
 - "443:443"

生成MTProto协议服务配置

sudo docker exec mtg_v2 /mtg access /config.toml

mtg_v1 版本(支持adtag 赞助选项)运行

生成密钥

$ docker run --rm baicailin/mtg:1 generate-secret tls -c bing.com
eedf71035a8ed48a623d8e83e66aec4d0562696e672e636f6d

docker-compose 启动(可代替上面这个命令启动方式)

一键启动 docker-compose.yaml 文件参考:

version: "3"
services:
 mtg_v1:
 image: baicailin/mtg:1
 container_name: "mtg_v1"
 restart: unless-stopped
 # deploy:
 # resources:
 # limits:
 # cpus: 0.50
 # memory: 256M
 # reservations:
 # memory: 128M
 command: run eedf71035a8ed48a623d8e83e66aec4d0562696e672e636f6d adtag
 environment:
 TZ: Asia/Shanghai
 # MTG_DEBUG: "true"
 # MTG_BIND: "0.0.0.0:3128"
 # MTG_IPV4: "公网ip:端口"
 # MTG_IPV6: "公网ip:端口"
 # MTG_STATS_BIND: "127.0.0.1:3129"
 # network_mode: host 
 ports:
 - "1443:3128"
 - "1444:3129"

运行参数中的 adtag 可以通过tg机器人 @MTProxybot 创建获得

查看MTProto协议服务配置

在mtg v1 docker-compose.yml文件目录下运行

docker-compose logs

文章来源:

Author:白菜
link:https://blog.baicai.me/article/2023/docker_mtg/