借鉴 Yaak 授权模型 + 复用自家 OpsXShell 生产级授权协议(opsx-licence 服务端): - Rust services/license:30 天试用自首次启动自动开始;LIC- 在线激活/周检/解绑 (双节点容灾 + 响应 Ed25519 签名校验 + 时钟回拨检测 + 30 天离线容忍); LICOFF- 离线证本地自验(产品码 opsxapi + 设备绑定 + ≤1 年期限) - 前端 src/license.ts + 活动栏授权徽章(试用 N 天/已授权/未授权)+ 设置→授权页(状态横幅/激活表单/解绑/定价链接带 ?intent= 追踪) - /pricing 独立定价页(三站同结构):30 天试用条款、在线/离线激活说明三卡、 年付↔终身切换、授权 FAQ、独立开发者声明;导航全部接入 - opsxDB 个人 ¥69/年·¥199 终身 / 团队 ¥69 / 私有化 ¥6000(与 API 定位错开) - GUI 实测:试用 30 天徽章渲染正常;浏览器态授权页正确显示仅桌面端提示
35 lines
1.0 KiB
TOML
35 lines
1.0 KiB
TOML
[package]
|
|
name = "opsxapi"
|
|
version = "0.1.0"
|
|
description = "OpsxAPI — API workbench for ops & developers"
|
|
authors = ["OpsxAPI"]
|
|
edition = "2021"
|
|
default-run = "OpsxAPI"
|
|
|
|
[lib]
|
|
name = "opsxapi_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[[bin]]
|
|
name = "OpsxAPI"
|
|
path = "src/main.rs"
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dependencies]
|
|
hex = "0.4"
|
|
ed25519-dalek = { version = "2.1", default-features = false, features = ["std"] }
|
|
base64 = "0.22"
|
|
tauri = { version = "2", features = [] }
|
|
tauri-plugin-opener = "2" # External link jump (About page/documentation/website)
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json", "blocking"] }
|
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "sync", "time", "net"] }
|
|
url = "2"
|
|
tokio-tungstenite = { version = "0.24", features = ["rustls-tls-webpki-roots"] }
|
|
futures-util = "0.3"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
http = "1"
|