8eefc6cfd5
Users can paste the key from the seller instead of editing license.env; it persists in license_state.json. Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
2.2 KiB
Markdown
55 lines
2.2 KiB
Markdown
# 软件授权说明(用户版)
|
||
|
||
授权服务:[https://sq.bz121.com/](https://sq.bz121.com/)
|
||
|
||
## 激活流程
|
||
|
||
1. 部署并启动本系统(三所或中控任一页面)。
|
||
2. 浏览器打开 **`/license`**(未授权时会自动跳转)。
|
||
3. 复制页面上的 **设备 ID**。
|
||
4. 联系微信 **dekun03** 购买(备注设备 ID),按约定支付 **USDT** 后获得 **CLIENT_API_KEY** 与激活码。
|
||
5. 在 `/license` 填写 **CLIENT_API_KEY** 与激活码并兑换(密钥会写入本地 `data/license_state.json`,下次可留空)。
|
||
|
||
## 定价(整机授权)
|
||
|
||
| 项目 | 说明 | 金额 |
|
||
|------|------|------|
|
||
| 年卡 | 365 天;**整机授权**(单所安装也按整机) | **1000 USDT** |
|
||
| 部署费 | 一次性代部署/装机(自装是否收取以约定为准) | **100 USDT** |
|
||
|
||
- 仅售年卡,无月卡/季卡。
|
||
- 续费:年卡 **1000 USDT**(一般不再收部署费)。
|
||
- 换机:旧设备立即失效,需换机码(向卖家申请)。
|
||
- USDT 收款地址由卖家提供(链与地址以当时通知为准)。
|
||
|
||
## CLIENT_API_KEY(推荐)
|
||
|
||
卖家在授权站后台 **系统设置** 可查看/复制 `CLIENT_API_KEY`,发给用户后填入软件 `/license` 页即可,**不必再手改 `license.env`**。
|
||
|
||
优先级:环境变量 `LICENSE_CLIENT_KEY` > 授权页保存的本地密钥。
|
||
|
||
## 环境变量(可选)
|
||
|
||
在**仓库根目录**创建 **`license.env`**(勿提交 Git),可预先写好密钥:
|
||
|
||
```bash
|
||
cd /opt/crypto_monitor_user # 或你的安装目录
|
||
cp license.env.example license.env
|
||
```
|
||
|
||
```env
|
||
LICENSE_API_URL=https://sq.bz121.com
|
||
# 可选:与授权站 CLIENT_API_KEY 相同;也可只在 /license 页填写
|
||
# LICENSE_CLIENT_KEY=
|
||
# 可选:断网宽限小时数(默认 72)
|
||
# LICENSE_OFFLINE_GRACE_HOURS=72
|
||
# 本地调试可临时关闭门禁(生产勿开)
|
||
# LICENSE_DISABLED=false
|
||
```
|
||
|
||
改完环境变量后**重启** Flask / 中控进程。也可在各实例 `.env` 里写同样的 `LICENSE_*`(不要留空键)。
|
||
|
||
许可状态保存在仓库根目录 **`data/license_state.json`**(三所 + 中控共用,含本地保存的 `client_api_key`)。
|
||
|
||
系统约每 **3 天** 向授权站校验一次;明确过期或换机后旧设备将无法使用。
|