Open Vela Authorization Manager — 快应用/嵌入式设备的授权与订单管理系统。
- 订单管理:接收爱发电 Webhook,自动处理订单并授权设备
- 设备授权:基于 SKU 和时长的设备激活管理
- License 签发:RSA 签名 License,支持永久/限时授权
- 云控中心:结构化配置下发(公告、维护模式、功能开关、更新推送)
- 管理后台:Material Design 3 风格的 Web UI,支持产品/SKU/设备/订单管理
- 审计日志:完整记录管理员操作
- 双因素认证:密码 + TOTP(时间同步一次性密码)
- 后端:Go 1.23 + Gin + GORM + SQLite
- 前端:Material Web Components + Lit HTML(单文件嵌入)
- 认证:bcrypt + TOTP + JWT(30分钟有效期)
- 构建:纯 Go,支持 CGO-free 交叉编译
git clone https://github.com/yourusername/ovam.git
cd ovamcp .env.example .env编辑 .env:
# 管理员认证(必需)
OVAM_ADMIN_PASSWORD=your-secure-password
OVAM_TOTP_SECRET=your-totp-secret
# 爱发电配置(如使用)
OVAM_AFDIAN_USER_ID=your-user-id
OVAM_AFDIAN_API_TOKEN=your-api-token
# JWT 签名密钥(可选,未设置则每次启动随机生成)
OVAM_JWT_SECRET=your-jwt-secret
# 产品私钥(通过 private_key_env 关联)
OVAM_OMUSIC_VELA_PRIVATE_KEY=-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----生成 TOTP Secret:
打开 tools/generate-totp.html(本地文件),使用 Google/Microsoft Authenticator 扫描生成的二维码。
# Linux AMD64(默认)
./build.sh
# 其他平台
./build.sh linux arm64
./build.sh darwin arm64
./build.sh windows amd64./dist/ovam-linux-amd64访问 http://localhost:5050,使用密码 + TOTP 验证码登录。
编辑 config.yaml:
products:
- slug: your_product
name: 产品名称
plan_id: 爱发电方案ID
private_key_env: ENV_KEY_NAME
skus:
- alias: m
sku_id: 爱发电SKU-ID
duration_days: 30
plan_name: 一个月ovam/
├── main.go # 入口
├── internal/
│ ├── config/ # 配置加载
│ ├── handler/ # HTTP handlers
│ ├── middleware/ # JWT 认证、速率限制
│ ├── model/ # 数据模型
│ ├── router/ # 路由 + 嵌入前端
│ ├── service/ # 业务逻辑
│ ├── utils/ # 工具函数
│ └── worker/ # 异步队列
├── config.yaml # 产品配置
├── .env # 敏感配置(gitignored)
└── tools/
└── generate-totp.html # TOTP 生成工具
详见 docs/API.md。
MIT License — 详见 LICENSE。