项目地址:https://github.com/byJoey/ech-wk
自用项目搭建在[email protected]
ECH Workers Docker 部署指南
📝 1. 准备工作
在开始之前,请确保你的部署目录中包含以下文件,且已安装 Docker 和 Docker Compose:
ech-workers:Linux x86_64 架构的可执行文件。Dockerfile:用于构建 Docker 镜像。docker-compose.yml:用于配置和运行容器。
🐳 2. Dockerfile 内容
该文件用于构建名为 my-ech-worker-proxy 的镜像,它基于轻量级的 Alpine Linux,并将 ech-workers 可执行文件和你的所有配置参数打包进去。
Dockerfile
# Dockerfile
# 使用轻量级的 Alpine Linux 作为基础镜像
FROM alpine:latest
# 安装 curl 和 ca-certificates 以确保网络和 SSL/TLS 正常工作
RUN apk update && apk add --no-cache curl ca-certificates
# 将 ech-workers 可执行文件复制到容器中
# 假设本地的可执行文件名为 ech-workers
COPY ech-workers /usr/local/bin/ech-workers
# 赋予执行权限
RUN chmod +x /usr/local/bin/ech-workers
# 暴露 SOCKS5 代理端口 (与 docker-compose.yml 中的端口 30001 一致)
EXPOSE 30001
# 容器启动时的主进程
ENTRYPOINT ["/usr/local/bin/ech-workers"]
# 默认启动命令 (CMD),包含你提供的所有配置参数:
# -f: ec.xunidd.eu.org:443
# -token: 1122
# -l: 0.0.0.0:30001 (监听所有接口)
# -routing: bypass_cn (跳过中国大陆)
CMD ["-f", "ech.xunidd.eu.org:443", \
"-l", "0.0.0.0:30001", \
"-routing", "bypass_cn", \
"-token", "wwg1122.", \
"-dns", "dns.alidns.com/dns-query", \
"-ech", "cloudflare-ech.com"]3. docker-compose.yml 内容
该文件定义了如何运行容器,包括端口映射和持久化重启策略。
docker-compose.yml
# docker-compose.yml
version: '3.8'
services:
ech-proxy:
image: my-ech-worker-proxy # 对应上方 Dockerfile 构建的镜像名
container_name: ech-workers-client
restart: always # 确保容器故障或重启后自动恢复
# 启动命令 (覆盖 Dockerfile 中的 CMD,但内容一致,确保参数生效)
command:
- -f
- ec.xunidd.eu.org:443
- -l
- 0.0.0.0:30001
- -routing
- bypass_cn
- -token
- 1122
- -dns
- dns.alidns.com/dns-query
- -ech
- cloudflare-ech.com
# 端口映射:宿主机端口:容器端口。外部将通过 30001 端口访问 SOCKS5 代理
ports:
- "30001:30001"
# 【可选】卷挂载:如果你想持久化 IP 列表,防止每次启动都重新下载
# volumes:
# - ./data/chn_ip.txt:/usr/local/bin/chn_ip.txt
# - ./data/chn_ip_v6.txt:/usr/local/bin/chn_ip_v6.txt4. 详细安装和运行过程
请在包含 Dockerfile 和 docker-compose.yml 的目录下执行以下命令:
步骤 A: 构建 Docker 镜像
该命令会根据 Dockerfile 构建镜像,并命名为 my-ech-worker-proxy。
Bash
docker build -t my-ech-worker-proxy .
步骤 B: 启动容器
该命令会读取 docker-compose.yml 文件,以后台模式 (-d) 启动 ech-workers-client 容器。
Bash
docker-compose up -d
步骤 C: 验证和查看日志
检查容器是否正在运行:
Bash
docker ps
查看实时日志,确认代理是否成功启动、IP 列表是否加载:
Bash
docker logs -f ech-workers-client
如果看到类似 "Starting ECH Workers Proxy..." 和 IP 列表加载成功的日志,则表示启动成功。
步骤 D: 配置代理客户端
容器运行后,你可以将 SOCKS5 代理配置到你的应用程序中:
代理地址: 你的服务器 IP 地址
端口: 30001
代理类型: SOCKS5
评论区