# OpsXShell License Server > **DEPRECATED** — 桌面端已切换到 **opsx-licence**(默认 `http://127.0.0.1:9001/api`)。本目录保留供对照与临时本地调试,**请勿用于新功能开发**。新结账 / 领取 / 激活请走 opsx-licence 的 `/api/v1/*` 契约。 轻量 Node 服务:Waffo Pancake **一次性买断**结账、Webhook、设备绑定许可证签发(旧 HMAC `opsx1` 方案)。 **私钥只放本机环境变量,不要写入仓库或桌面端。** ## 快速开始 ```bash cd license-server cp .env.example .env # 填入 WAFFO_PRIVATE_KEY(Dashboard 测试密钥) npm install npm run bootstrap # 首次:创建 Store + 一次性商品 Pro,写回 .env npm run start ``` 旧桌面端曾默认请求 `http://127.0.0.1:8787`。当前桌面默认已改为 opsx-licence:`http://127.0.0.1:9001/api`(`VITE_LICENSE_SERVER_URL` / `OPSX_LICENSE_API_BASE`)。 ## 接口 | 方法 | 路径 | 说明 | |------|------|------| | GET | `/health` | 健康检查 | | POST | `/checkout` | `{ deviceId }` → `{ checkoutUrl }`(onetime) | | POST | `/webhooks` | Waffo webhook(`order.completed`) | | POST | `/activate` | `{ deviceId }` 取回已签发许可证 | | POST | `/issue-test-license` | 开发用:直接签发终身 Pro token | ## 测试许可证(无需支付) ```bash npm run issue-dev-license -- --deviceId '*' # 临时授权可加 --days 30 ``` 将返回的 `token` 粘贴到 App「已有许可证?激活」(仅旧 HMAC 路径;新客户端需 `LIC-` 密钥)。 ## 安全 - `@waffo/pancake-ts` 仅在本服务使用 - `OPSX_LICENSE_HMAC` 与旧桌面端校验密钥一致(生产请轮换) - 对话中若暴露过测试私钥,请在 Dashboard **轮换**