modify: 授权
This commit is contained in:
@@ -28,6 +28,23 @@ launch_worker_count = "cache"
|
||||
algorithm = "HS256"
|
||||
secret_key = "your-secret-key-change-in-production"
|
||||
|
||||
[license]
|
||||
# 机器码授权(插件白名单)。未授权插件不加载、不注册路由、管理接口禁止操作。
|
||||
#
|
||||
# 打包产物(Nuitka/PyInstaller)**恒为强制校验**,不存在可被配置绕过的开关:
|
||||
# 部署目录的 config.toml 是明文可写的,任何 enabled/mode 开关都能被一键改掉。
|
||||
# 只有非打包态(开发/测试)才会读取 enabled,默认关闭以免影响开发流程。
|
||||
# enabled = false
|
||||
# 授权文件路径(相对网关工作目录)
|
||||
path = "license.lic"
|
||||
# 厂商公钥(base64 裸 32 字节,或 PEM)。公钥可明文放置:换公钥只会验签失败,
|
||||
# 无法据以伪造授权(伪造需要厂商私钥)。
|
||||
# 构建时由 build.py 从 CHONGMING_LICENSE_PUBKEY 或 license_public.key 注入;
|
||||
# 缺失时构建会失败(避免产出无法验签、所有插件都加载不了的"砖头"包)。
|
||||
public_key = ""
|
||||
# 指纹命中阈值(N-of-M)。4 个可信来源下取 3 表示容忍单块网卡或单颗 eMMC 更换。
|
||||
min_match = 3
|
||||
|
||||
[production]
|
||||
debug = false
|
||||
env = "production"
|
||||
|
||||
+10
-2
@@ -2,6 +2,7 @@ from .config import ConfigLoader
|
||||
import os
|
||||
from module_bank import PythonToSQLite
|
||||
from typing import Callable
|
||||
from pathlib import Path
|
||||
|
||||
# module_bank 依赖在每次加载 PyArmor 加密模块时都会 print 一行
|
||||
# "已部署 PyArmor 运行时",启动期会刷屏(约 50 行)。依赖包不便改动,
|
||||
@@ -36,8 +37,15 @@ def init_module_bank(config):
|
||||
]
|
||||
# 遍历所有打包器,安装导入器(模块清单不再打印,避免启动刷屏)
|
||||
for packer in packer_list:
|
||||
key = packer.get_key()
|
||||
packer.install_importer(key=key)
|
||||
key_file_path = Path(packer.db_path).with_suffix(".key")
|
||||
with open(key_file_path, "r", encoding="utf-8") as f:
|
||||
key = f.read().strip()
|
||||
packer.install_importer(
|
||||
key=key,
|
||||
signature_key="my_key",
|
||||
signature_key_id="ci-2026",
|
||||
allow_unsigned=False,
|
||||
)
|
||||
|
||||
|
||||
def launch(run_fun: Callable[[dict, dict], None], run_mode: str):
|
||||
|
||||
Reference in New Issue
Block a user