fix: 生成项目补齐 --encrypt/--license 构建契约(网关收集项、[license] 注入点)
- config.toml:--encrypt 会先 PyArmor 混淆 main.py / server.py,PyInstaller 静态 分析跟不到 `from chongming.app import app`,网关包整个漏收(打包"成功"、产物 启动报 No module named 'chongming')—— 显式列 chongming / chongming.app 等入口包; - public/config.toml:补 [license] 段(public_key 留空),--license 的注入点; - README.project.md:补授权公钥前置条件(keygen → license_public.key 或环境变量), 以及 --only 对 obfuscate 同样划界(加密构建要显式带上,否则混淆被静默跳过)。
This commit is contained in:
@@ -95,7 +95,14 @@ uv run build --encrypt --license # 对外分发:加密插件模块 + 注
|
||||
uv run build --only mbank # 只重新生成 plugins.mbank(插件热更新只需替换该文件)
|
||||
```
|
||||
|
||||
- `--encrypt --license` 需要厂商授权公钥(未提供会直接构建失败):先
|
||||
`uv run chongming-license keygen -o license_private.pem` 生成密钥对(一次性;私钥离线保管,
|
||||
绝不进仓库/产物),把输出的公钥写入根目录 `license_public.key`(或用
|
||||
`CHONGMING_LICENSE_PUBKEY` / `CHONGMING_LICENSE_PUBKEY_FILE` 指定),再构建
|
||||
- 无前端时跳过 vue 步骤:`uv run build pyinstaller --only mbank,prepare,pack`
|
||||
(`--only` 对**所有**步骤划界:加密构建还要显式带上 `obfuscate`,如
|
||||
`uv run build --encrypt --license --only mbank,prepare,obfuscate,pack,license_guard`,
|
||||
否则 PyArmor 混淆会被静默跳过)
|
||||
- 插件代码在 `plugins.mbank` 里 → 换文件即可热更新;**网关本体是普通依赖** →
|
||||
升级网关需改 `pyproject.toml` 版本(或 `uv lock --upgrade-package chongming-gateway`)
|
||||
并重新 `uv run build`
|
||||
|
||||
Reference in New Issue
Block a user