授权管理后台
总览 实时读取 license.db
–
卡密总数
–
未使用
–
已激活
–
已封禁
–
绑定设备
–
事件记录
卡密管理 生成 / 查询 / 封禁
本次生成(点击卡密可复制):
| 卡密 | 套餐 | 天数 | 设备 | 状态 | 创建时间 | 到期时间 | 备注 | 操作 |
|---|
–
设备绑定 激活记录 / 激活测试
激活测试:直接调用服务端的
activate(),等价于客户端 POST /api/v1/activate,用于验证发卡链路。| 卡密 | 设备 ID | 首次激活 | 最近校验 | 来源 IP | 卡状态 |
|---|
事件日志 最近 100 条
代理管理 创建代理账号 · 分配套餐与额度 · 控制权限
当前:新建代理
| 代理 | 账号 | 可生成套餐 | 单次/每日 | 其他权限 | 今日/累计 | 分成 | 有效期 | 状态 | 操作 |
|---|
设备黑名单 被拉黑的设备无法激活和运行,解锁后恢复
| 设备码 | 原因 | 关联卡密 | 来源 | 时间 | 操作 |
|---|---|---|---|---|---|
| 加载中… | |||||
软件公告 发布后客户端下次启动弹窗
新建公告
历史公告 (仅一条已发布的会推送给客户端)
| ID | 标题 | 图片 | 状态 | 操作 |
|---|---|---|---|---|
| 加载中… | ||||
账号安全 修改当前登录密码
--
当前账号信息
登录账号-
账号类型-
权限-
部署说明 上传到服务器前必读
⚠ 两套授权方案不要混用:本后台属于「外部启动器 + 服务端」方案(卡密格式
NL-XXXX-XXXX-XXXX-XXXX,客户端是 client/启动.bat)。
而 4.4.1 便携版内置的那套授权是本地 HMAC + Ed25519 + 硬件绑定(卡密带机器码、格式 NL-00001-XXXX-XXXX-XXXX),两者算法与卡密完全不通用。
要让便携版走服务器,需要改内置 CONFIG.mode="remote" 并对接本服务的接口。上传目录(保持结构): /opt/hanshuang-license/ ├─ server/ 原激活服务 license_server.py + admin_cli.py ├─ admin/ 本后台 admin_server.py + admin.html │ ├─ deploy/ admin.service / nginx-admin.conf / admin.env.example │ └─ README.md ├─ .env LICENSE_SECRET / LICENSE_DB / ADMIN_TOKEN(与两个服务共用) └─ data/license.db 数据库(两个服务指向同一个文件) 启动: systemctl enable --now license # 8787 激活 API systemctl enable --now license-admin # 8799 管理后台(只监听 127.0.0.1) nginx -t && systemctl reload nginx # 反代 /admin/ 到 8799,/api/v1/ 到 8787 必改: 1) ADMIN_PASSWORD 改成强密码(≥8 位,admin.env) 2) ADMIN_SESSION_SECRET 单独生成 32 位以上随机串 3) LICENSE_SECRET 必须与 license.service 用同一个值,否则后台签的令牌激活端验不过 4) nginx 里 /admin/ 只允许内网 IP 访问,并配 HTTPS;切勿把 8799 直接暴露公网 5) 每天备份 data/license.db(sqlite3 license.db ".backup backup.db")