用途:该技能提供从零创建 Cloudflare Tunnel 的交互式指引,用于安全地远程访问家庭网络服务。触发场景包括新建隧道、替换过期或无效的隧道令牌、全新安装后配置远程访问、令牌缺失或 cloudflared 容器无法启动等。
主要能力:检查前置条件(.env 是否存在、docker-compose 是否含 cloudflared 服务);引导在 Cloudflare 仪表盘创建隧道;将令牌写入 .env;重启 cloudflared 容器;引导配置公共主机名;验证连通性。
使用方式:先检查 .env:ls -la /home/dawiddutoit/projects/network/.env,缺失时从 .env.example 复制。检查令牌:grep -E "^CLOUDFLARE_TUNNEL_TOKEN" /home/dawiddutoit/projects/network/.env。确认 docker-compose 含 cloudflared 服务。在 https://one.dash.cloudflare.com 的 Access -> Tunnels 创建隧道,选择 Cloudflared 连接器与 Docker 类型,复制令牌。将令牌写入 .env 的 CLOUDFLARE_TUNNEL_TOKEN= 行。重启容器:cd /home/dawiddutoit/projects/network && docker compose restart cloudflared(不存在时用 docker compose up -d cloudflared)。查看日志:docker logs cloudflared --tail 30,出现 4 条 Registered tunnel connection 表示健康。随后在仪表盘配置 Public Hostname,后端使用 HTTP 而非 HTTPS,Linux 上不要用 host.docker.internal。最后从外部网络验证:curl -I https://pihole.temet.ai。
适用场景:家庭网络服务(如 Pi-hole、Webhook、Jaeger)的远程访问。
限制与注意:需要 Cloudflare 账户、域名、Docker 与 Docker Compose、互联网连接及 .env 文件;需启用 Zero Trust(免费层可用)。不要将令牌提交到 git,不要在不同环境共享令牌,不要跳过验证步骤,不要保留占位令牌。隧道令牌不会过期但可在仪表盘撤销。认证可后续使用 configure-google-oauth 技能。具体价格、平台支持范围等资料暂未提供。