Docker 搭建MTProto协议上网

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

安装 Docker

安装 Docker 相关工具

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

启动 docker

Copy
sudo systemctl enable docker && sudo systemctl start docker

验证是否安装成功

Copy
sudo docker run hello-world

mtg v2 版本 docker 运行

生成密钥

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

写入简单配置

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

运行 docker 镜像命令

Copy
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 文件参考

Copy
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 协议服务配置

Copy
sudo docker exec mtg_v2 /mtg access /config.toml

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

生成密钥

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

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

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

Copy
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
# volumes:
# - ./config.toml:/config.toml
environment:
TZ: Asia/Shanghai
# MTP_PORT: 443
# MTP_SECRET: "e0d6e111bada5511fcce9584deadbeee"
# MTG_STATS_BIND: ""
# network_mode: host
ports:
- "1443:3128"
- "1444:3129"

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

查看 MTProto 协议服务配置

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

Copy
docker-compose logs