基于 usque 的 Docker 镜像,用来在容器中运行 Cloudflare WARP / ZeroTrust MASQUE 代理。
superng6/usquesocks(SOCKS5)、http-proxy(HTTP CONNECT)、nativetun、portfw、register、enrollGitHub:https://github.com/SuperNG6/docker-usque
Docker Hub:https://hub.docker.com/r/superng6/usque
# 拉取镜像
docker pull superng6/usque:latest
或
docker pull ghcr.io/superng6/usque:latest
复制保存为 docker-compose.yml:
services:
# SOCKS5 代理(默认 0.0.0.0:1080)
usque-socks:
image: superng6/usque:latest
container_name: usque-socks
restart: unless-stopped
environment:
- USQUE_MODE=socks # 运行模式:socks / http-proxy / nativetun / portfw / enroll / register
- USQUE_CONFIG=/app/config.json
- USQUE_BIND=0.0.0.0
- USQUE_PORT=1080
- USQUE_USER=
- USQUE_PASS=
- USQUE_SNI=
- USQUE_JWT=
- USQUE_DEVICE_NAME=
- USQUE_DNS=1.1.1.1 1.0.0.1 # 可选:多个 DNS 用空格分隔(仅 socks/http-proxy/portfw 有效)
volumes:
- ./usque_data:/app
ports:
- 1080:1080
# HTTP CONNECT 代理(默认 0.0.0.0:8000)
usque-http:
image: superng6/usque:latest
container_name: usque-http
restart: unless-stopped
environment:
- USQUE_MODE=http-proxy
- USQUE_CONFIG=/app/config.json
- USQUE_BIND=0.0.0.0
- USQUE_PORT=8000
- USQUE_USER=
- USQUE_PASS=
- USQUE_SNI=
- USQUE_DNS=1.1.1.1 1.0.0.1
volumes:
- ./usque_data:/app
ports:
- 8000:8000
# TUN 模式(高级用法,需要 /dev/net/tun 和 NET_ADMIN)
usque-tun:
image: superng6/usque:latest
container_name: usque-tun
restart: "no"
environment:
- USQUE_MODE=nativetun
- USQUE_CONFIG=/app/config.json
volumes:
- ./usque_data:/app
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
说明:默认模式为
socks,无需额外设置;/app/config.json不存在时会自动register -a(默认同意 ToS)并保存配置。
复制最小化配置到compose中,不启动
usque:
image: superng6/usque
restart: unless-stopped
environment:
- USQUE_PORT=1080 # 对外监听端口(socks 默认 1080)
- USQUE_DEVICE_NAME=yourvps # 设备名(可选)
volumes:
- ./usque_data:/app # 配置文件一定要挂载到本地
docker compose run --rm usque-socks register -a
首次启动会自动完成注册并写入 ./usque_data/config.json,随后直接以 SOCKS5 模式运行(监听 0.0.0.0:1080)。
准备好 Zero Trust 的 team token 后执行(尽量在拿到 token 后立即使用): token申请地址,你得有自己的team,如果看不懂可以网上搜教程,这块我不多赘述,复杂,只推荐本身就有team账户的人使用,上一步申请的个人账号就足够用了。
https://web--public--warp-team-api--coia-mfs4.code.run
docker compose run --rm -e USQUE_JWT='<team-token>' usque-socks register -a
成功后会更新 config.json,随后容器继续按原模式使用 Zero Trust 配置。
docker compose up -d usque-socks
默认:
0.0.0.0:1080USQUE_USER / USQUE_PASS,连接地址类似:socks5://user:[email protected]:1080测试:
# 无认证
curl -x socks5://127.0.0.1:1080 https://cloudflare.com/cdn-cgi/trace
# 有认证
curl -x socks5://user:[email protected]:1080 https://cloudflare.com/cdn-cgi/trace
docker compose up -d usque-http
默认:
0.0.0.0:8000测试:
curl -x http://127.0.0.1:8000 https://cloudflare.com/cdn-cgi/trace
# 有认证
curl -x http://user:[email protected]:8000 https://cloudflare.com/cdn-cgi/trace
docker compose run --rm --service-ports usque-tun
/dev/net/tun 并且允许 NET_ADMINZeroTrust 下如果 IPv4/IPv6 变更,可用 enroll 更新现有 config.json:
docker compose run --rm -it usque-socks enroll
然后重启代理:
docker compose up -d usque-socks usque-http
| 变量名 | 说明 | 默认值 |
|---|---|---|
USQUE_MODE | 运行模式:socks / http-proxy / nativetun / portfw / enroll / register | socks |
USQUE_CONFIG | 配置文件路径 | /app/config.json |
USQUE_JWT | ZeroTrust team token(首次无配置时自动走 register -a --jwt) | 空 |
USQUE_DEVICE_NAME | 注册时设备名称(register -n) | 空 |
USQUE_SNI | 自定义 SNI(仅隧道模式生效:socks/http-proxy/nativetun/portfw) | 空 |
USQUE_BIND | 代理绑定地址(socks/http-proxy) | 0.0.0.0 |
USQUE_PORT | 代理端口(socks 默认 1080,http-proxy 默认 8000) | 视模式而定 |
USQUE_USER | 代理用户名(仅支持一个 user:pass) | 空 |
USQUE_PASS | 代理密码 | 空 |
USQUE_DNS | 代理使用的 DNS,空格分隔多个(仅 socks/http-proxy/portfw 有效,例如 1.1.1.1 1.0.0.1) | 空 |
本地到代理的 SOCKS/HTTP 链路不加密,不要在公网裸奔暴露端口,建议:
USQUE_USER / USQUE_PASS,并配合防火墙限制来源删除 usque_data 文件夹会丢失注册信息,需要重新 register
usque 自身的用法、参数细节请参考上游仓库文档
Content type
Image
Digest
sha256:33a0461e0…
Size
8.8 MB
Last updated
2 months ago
docker pull superng6/usque