客户端
Docker 部署
使用 Docker 部署 EchPlus 客户端
Docker 是部署 EchPlus 客户端最简单的方式,无需安装 Go 环境。
前置要求
- Docker 20.10+
- Docker Compose (可选)
快速开始
1. 构建镜像
cd apps/client docker build -t echplus-client .2. 运行容器
docker run -d \ --name echplus-client \ -p 30000:30000 \ -e ECHPLUS_SERVER=your-worker.workers.dev:443 \ -e ECHPLUS_TOKEN=your-secret-token \ echplus-client3. 验证运行
# 检查容器状态 docker ps | grep echplus-client # 测试代理连接 curl -x socks5://127.0.0.1:30000 https://httpbin.org/ipDocker Compose 部署
创建 docker-compose.yml:
version: "3.8" services: echplus-client: build: ./apps/client container_name: echplus-client ports: - "30000:30000" environment: - ECHPLUS_LISTEN=0.0.0.0:30000 - ECHPLUS_SERVER=your-worker.workers.dev:443 - ECHPLUS_TOKEN=your-secret-token - ECHPLUS_ROUTING=bypass_cn restart: unless-stopped运行:
docker-compose up -d环境变量
| 变量 | 默认值 | 说明 |
|---|---|---|
ECHPLUS_LISTEN | 127.0.0.1:30000 | 本地代理监听地址 |
ECHPLUS_SERVER | - | 服务端地址 (必填) |
ECHPLUS_SERVER_IP | - | 指定服务端 IP |
ECHPLUS_TOKEN | 147258369 | 身份验证令牌 |
ECHPLUS_DNS | dns.alidns.com/dns-query | ECH 查询 DoH 服务器 |
ECHPLUS_ECH_DOMAIN | cloudflare-ech.com | ECH 配置域名 |
ECHPLUS_ROUTING | global | 分流模式 |
分流模式
| 模式 | 说明 |
|---|---|
global | 全局代理,所有流量通过代理 |
bypass_cn | 跳过中国大陆 IP,国内网站直连 |
none | 直连模式,不使用代理 |
# 使用 bypass_cn 模式 docker run -d \ --name echplus-client \ -p 30000:30000 \ -e ECHPLUS_SERVER=your-worker.workers.dev:443 \ -e ECHPLUS_TOKEN=your-secret-token \ -e ECHPLUS_ROUTING=bypass_cn \ echplus-client常用命令
# 查看日志 docker logs -f echplus-client # 停止容器 docker stop echplus-client # 重启容器 docker restart echplus-client # 删除容器 docker rm -f echplus-client # 更新镜像 docker build -t echplus-client . && docker restart echplus-client生产环境建议
资源限制
services: echplus-client: # ... deploy: resources: limits: cpus: "0.5" memory: 128M reservations: cpus: "0.1" memory: 32M日志配置
services: echplus-client: # ... logging: driver: "json-file" options: max-size: "10m" max-file: "3"网络模式
如果需要让局域网其他设备使用代理:
services: echplus-client: # ... environment: - ECHPLUS_LISTEN=0.0.0.0:30000 ports: - "30000:30000"然后其他设备可以使用 <宿主机IP>:30000 作为代理地址。
完整示例
version: "3.8" services: echplus-client: build: ./apps/client container_name: echplus-client ports: - "30000:30000" environment: - ECHPLUS_LISTEN=0.0.0.0:30000 - ECHPLUS_SERVER=your-worker.workers.dev:443 - ECHPLUS_TOKEN=your-secret-token - ECHPLUS_ROUTING=bypass_cn restart: unless-stopped deploy: resources: limits: cpus: "0.5" memory: 128M logging: driver: "json-file" options: max-size: "10m" max-file: "3"