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 的注入点, 缺了会在 prepare 阶段报"未找到 [license] 段的 public_key"; - README:补 --license 的公钥前置条件(keygen → license_public.key 或环境变量); - test_build_flags.py:4 条契约守卫 —— 真实模板/骨架可注入 [license]、收集清单含 网关入口包、加密包密钥写进包内且按运行端口径(get_key())可导入。此前用例都 自造 config.toml,这两类模板漂移测不出来。 实测(device-hub):修复前 --encrypt --license 产物启动报错;修复后网关启动、 授权校验通过、插件从加密 mbank 正常加载、HTTP 正常返回。
This commit is contained in:
@@ -28,6 +28,14 @@ launch_worker_count = "cache"
|
||||
algorithm = "HS256"
|
||||
secret_key = "your-secret-key-change-in-production"
|
||||
|
||||
[license]
|
||||
# 机器码授权(厂商 Ed25519 签发):`uv run build --license` 在打包前把厂商公钥注入
|
||||
# 这里,并把"本产物是否为授权版"烘焙进产物代码(编译后部署侧改不了)。
|
||||
# public_key 留空 = 未接入授权:开发态不校验;未加 --license 的产物也不校验
|
||||
# (插件照常加载,不是砖头包)。可选键:path(授权文件,默认 ./license.lic)、
|
||||
# min_match(指纹容错阈值)、enabled(仅开发态生效;打包产物以构建期烘焙为准)。
|
||||
public_key = ""
|
||||
|
||||
[production]
|
||||
debug = false
|
||||
env = "production"
|
||||
|
||||
Reference in New Issue
Block a user