用途:以交互方式把新子域名加入网络基础设施,适合为 Docker 容器、Web 应用、IoT 设备或 API 等开通外部访问并启用 HTTPS。
主要能力:收集服务名称、子域名、后端地址(IP:port 或 容器名:port);校验子域名格式(小写字母数字与连字符、最长 63 字符、首尾不能有连字符)和后端格式,并检查重复;按服务类型(web、docker、iot、api、external、self-signed、public)推荐 enable_https、enable_http、require_auth 等默认值;在 /home/dawiddutoit/projects/network/domains.toml 中添加条目;运行配置脚本生成 Caddyfile、更新 Pi-hole DNS、同步 Cloudflare Access 并重载 Caddy;给出 Cloudflare Tunnel 手动配置指引;最后验证 DNS 解析、证书、HTTP 响应和服务列表。
用法:用 python3 .claude/skills/add-subdomain/scripts/validate-subdomain.py grafana 192.168.68.135:3001 预校验;写入 [[services]] 条目后执行 cd /home/dawiddutoit/projects/network && ./scripts/manage-domains.sh apply;在 Cloudflare 控制台手动添加 Public Hostname(HTTPS 服务指向 https://caddy:443,HTTP-only 或 IoT 可直连服务);用 dig、openssl s_client、curl -I 和 ./scripts/manage-domains.sh list 验证。
适用场景:新 Docker 容器需外部访问、新装软件需 HTTPS、IoT 设备需远程访问,或排查子域名无法访问、如何加 HTTPS 等问题。
限制:需 Docker 中有 caddy 与 pihole 容器、Cloudflare Tunnel 已连接、.env 含有效 API 令牌,并具备 Read/Write/Edit/Bash/Grep 工具;Tunnel 步骤必须手动完成,证书可能需等待 1-2 分钟;避免重复子域名、大写命名、Linux 下使用 host.docker.internal、无必要同时开启 HTTPS 与 HTTP;自签名证书需 tls_insecure=true,IoT 设备需 strip_cf_headers=true。具体价格与更多细节暂未提供。