本项目提供基于 sing-box 1.13.19 + Cloudflare Tunnel 的多协议代理 Docker 镜像,支持 5 种主流代理协议,一条命令即可部署。
| 特性 | 说明 |
|---|---|
| 5 种协议 | VLESS Reality Vision、VMess WebSocket、Hysteria2、TUIC v5、AnyTLS |
| 抗检测最强 | Reality (XTLS) + uTLS 指纹,伪装成 Chrome/Firefox 浏览器流量 |
| WARP 出站 | 内置 WireGuard WARP,解锁 ChatGPT/Netflix/流媒体 |
| Cloudflare Tunnel | 仅承载 VMess WebSocket 与订阅服务;Reality/AnyTLS 使用直连 TCP |
| 订阅服务 | 内置 HTTP 服务,支持 sing-box JSON / Clash YAML / vmess:// |
| 进程管理 | PID 1 监督 sing-box、cloudflared、subscriptiond,异常时自动重启 |
| 多架构 | amd64 + arm64 原生支持 |
| 健康检查 | 内置 /health 端点,Docker HEALTHCHECK 就绪 |
| 协议 | 端口 | 传输 | TLS | 适用场景 |
|---|---|---|---|---|
| VLESS Reality Vision | 443 | XTLS | Reality | 最强抗检测,推荐 |
| VMess WebSocket | 8080 | WebSocket | 可选 | 通用场景,兼容性好 |
| Hysteria2 | 8443 | QUIC | h3 | 高带宽需求 |
| TUIC v5 | 9443 | HTTP/3 | h3 | 低延迟场景 |
| AnyTLS | 9444 | TLS | 证书 | 深度伪装 |
docker run -d \
--name link-nvidia \
-p 443:443 \
-p 8080:8080 \
-p 8443:8443 \
-p 9443:9443 \
-p 8081:8081 \
-e UUID=your-uuid-here \
-e ARGO_TOKEN=your-argo-token-here \
ghcr.io/clawcopilot/link-nvidia:latestservices:
link-nvidia:
image: ghcr.io/clawcopilot/link-nvidia:latest
container_name: link-nvidia
restart: unless-stopped
ports:
- "443:443" # VLESS Reality
- "8080:8080" # VMess WS
- "8443:8443" # Hysteria2
- "9443:9443" # TUIC v5
- "9444:9444" # AnyTLS
- "8081:8081" # 订阅服务
environment:
# 必填:你的 UUID
UUID: your-uuid-here
# Cloudflare Tunnel Token (可选,不填则用临时隧道)
ARGO_TOKEN: your-argo-token-here
# Reality SNI 目标
LN_FRONT_HOST: www.cloudflare.com
# 是否启用 WARP (默认 false)
LN_ROUTE_ENABLED: "false"
volumes:
# 可选:持久化 Reality 密钥和 WARP 配置
- ./data:/var/log/apache2| 变量 | 必填 | 默认值 | 说明 |
|---|---|---|---|
UUID |
❌ | 1b4db7eb-4057-5ddf-91e0-36dec72071f5 |
主 UUID,所有协议共用 |
ARGO_TOKEN |
❌ | 使用内置token | Cloudflare Tunnel Token |
ARGO_DOMAIN |
❌ | 自动获取 | 固定 Argo 域名 |
LN_FRONT_HOST |
❌ | www.cloudflare.com |
Reality 握手目标域名 |
LN_CORE_PUBLIC |
❌ | 自动生成 | Reality 公钥 |
LN_CORE_SECRET |
❌ | 自动生成 | Reality 私钥 |
LN_CORE_HINT |
❌ | 随机 8 字符 | Reality 短 ID |
LN_ROUTE_ENABLED |
❌ | false |
是否启用 WARP 出站 |
WARP_PRIVATE_KEY |
❌ | 备用配置 | WARP 私钥 |
WARP_RESERVED |
❌ | [126,246,173] |
WARP reserved bytes |
KEEPALIVE_INTERVAL |
❌ | 10m |
保活间隔 |
📌 内置组件版本(随镜像构建时固定,不可通过环境变量覆盖):
- sing-box:
1.13.19(amd64 / arm64 二进制已随仓库bin/目录提交)- cloudflared:
2026.8.2
⚠️ DNS 国内外分流说明:sing-box 1.12.0 起已移除旧版 geosite/geoip 数据库机制,因此本镜像改用 rule-set(.srs规则集) 实现分流——构建时从 SagerNet 仓库下载geosite-cn.srs与geosite-geolocation-!cn.srs打包进镜像,由dns.rules通过rule_set引用。配置模板中不再出现geosite字段。
Railway 上 VMess WS 与订阅通过 Cloudflare Tunnel;VLESS Reality 和 AnyTLS 通过 Railway TCP Proxy。HY2/TUIC 节点继续保留用于 VPS,但 Railway 没有公网 UDP 入站,不能在 Railway 上连接。Reality/AnyTLS 的公网端口必须分别通过 LN_CORE_PORT、LN_AUX_PORT 配置。
容器内置订阅服务,自动包含所有协议配置和 Reality 密钥,无需手动获取 Public Key。
| 端点 | 说明 |
|---|---|
GET /sub/singbox |
sing-box JSON 配置 (base64 编码) |
GET /sub/clash |
Clash YAML 格式配置(推荐,自动包含 Reality 密钥) |
GET /sub/vmess |
vmess:// 分享链接 |
GET /health |
健康检查 (返回 200 OK) |
GET /alive |
触发 Argo 隧道保活 |
订阅 URL 示例:
# Clash Meta 客户端(推荐)
https://sub-link-nvidia.techidaily.com/sub/clash
# v2rayN / sing-box 客户端
https://sub-link-nvidia.techidaily.com/sub/singbox
💡 推荐使用订阅方式:直接导入
https://sub-link-nvidia.techidaily.com/sub/clash,自动包含所有配置和密钥。
地址: your-domain.com
端口: 443
UUID: 1b4db7eb-4057-5ddf-91e0-36dec72071f5
传输: (空)
安全: TLS
SNI: www.cloudflare.com
Reality: 启用
Public Key: (订阅自动包含)
Short ID: (订阅自动包含)
Flow: xtls-rprx-vision
地址: your-domain.com
端口: 8080
UUID: 1b4db7eb-4057-5ddf-91e0-36dec72071f5
传输: WebSocket
路径: /vless
TLS: 关闭
地址: your-domain.com
端口: 8443
密码: 1b4db7eb-4057-5ddf-91e0-36dec72071f5
SNI: www.bing.com
ALPN: h3
地址: your-domain.com
端口: 9443
UUID: 1b4db7eb-4057-5ddf-91e0-36dec72071f5
密码: 1b4db7eb-4057-5ddf-91e0-36dec72071f5
ALPN: h3
地址: your-domain.com
端口: 9444
密码: 1b4db7eb-4057-5ddf-91e0-36dec72071f5
link-nvidia/
├── Dockerfile # 多架构 Docker 构建
├── entrypoint.sh # 容器启动脚本
├── templates/
│ └── config.yaml.template # sing-box 配置模板
├── subscriptiond/
│ ├── main.go # Go 订阅服务
│ └── go.mod # Go 模块
├── docker-compose.yml # Docker Compose 部署配置
├── DEPLOY.md # Railway 部署指南
└── .github/workflows/
└── main.yml # CI/CD 多架构构建
# 查看日志
docker logs link-nvidia
# 进入容器排查
docker exec -it link-nvidia sh# 查看公钥
cat /var/log/apache2/reality_public_key
# 查看私钥
cat /var/log/apache2/reality_private_key# 检查 subscriptiond 是否运行
curl http://localhost:8081/health本项目采用 CC BY-NC 4.0 协议分发。
⚠️ 免责声明:本项目仅供学习和交流网络协议技术,请在遵守当地法律法规的前提下使用。
进阶玩法:如果需要更高级的路由分流、流量统计、多用户管理等功能,可以基于本镜像进一步扩展。
UUID, ARGO_TOKEN, and ARGO_DOMAIN retain their established names and embedded defaults. Endpoint variables use the LN_* prefix and role-based names such as LN_CORE_HOST, LN_AUX_HOST, LN_FAST_HOST, and LN_ALT_HOST. See DEPLOY.md for the migration table and Railway order of operations.
Runtime logging defaults to LN_LOG_LEVEL=warn. Startup output omits identifiers, keys, hostnames, ports, and protocol inventory. Use info only temporarily during troubleshooting. These controls reduce accidental log disclosure; they do not conceal network protocol characteristics or replace access control.
LN_CORE_SECRET, LN_CORE_PUBLIC, and LN_CORE_HINT are optional overrides. The image retains the current fixed Reality private key, public key, and Short ID. If they are absent, startup uses those embedded values without regenerating or changing them. Set all three together only when intentionally rotating the Reality identity.
Runtime logs use role-based paths: /tmp/ln-core.log, /tmp/ln-edge.log, and /tmp/ln-web.log. See DEPLOY.md for their mapping and troubleshooting guidance.
The deployment provides both direct VLESS Reality and a VLESS WebSocket fallback. Reality uses the Railway TCP Proxy. VLESS WS uses the dedicated ws-link-nvidia.techidaily.com Tunnel hostname and local port 8082, controlled by optional LN_WEB_ALT_HOST. VMess WS remains on ARGO_DOMAIN and local port 8080. No path-based Tunnel routing or additional Railway TCP Proxy is required. See DEPLOY.md.