2025-11-11 21:39:12 +08:00
|
|
|
|
# KaMiXiTong 软件授权管理系统 - 项目总结
|
|
|
|
|
|
|
|
|
|
|
|
## 项目概述
|
|
|
|
|
|
|
|
|
|
|
|
KaMiXiTong是一款面向Python开发者的轻量化软件授权控制+全生命周期管理系统,解决了"Python软件盗版防护、卡密授权管控、软件版本迭代管理"三大核心需求。
|
|
|
|
|
|
|
|
|
|
|
|
## 核心特性
|
|
|
|
|
|
|
|
|
|
|
|
### ✅ 已实现功能
|
|
|
|
|
|
|
|
|
|
|
|
#### 1. Python验证器 (auth_validator.py)
|
|
|
|
|
|
- **跨平台机器码生成**: 支持Windows/Linux/Mac,基于硬件信息生成唯一标识
|
|
|
|
|
|
- **在线/离线验证**: 优先在线验证,网络异常时自动切换离线缓存模式
|
|
|
|
|
|
- **多种输入方式**: 支持命令行和图形界面卡密输入
|
|
|
|
|
|
- **安全防护**: 防篡改机制、验证锁定、签名验证
|
|
|
|
|
|
- **轻量化设计**: 仅依赖标准库,可轻松集成到任何Python项目
|
|
|
|
|
|
|
|
|
|
|
|
#### 2. 后台管理系统 (Flask Web)
|
|
|
|
|
|
- **产品管理**: 创建、编辑、删除软件产品
|
|
|
|
|
|
- **卡密管理**: 批量生成、导入导出、状态控制、延期、试用转正式
|
|
|
|
|
|
- **版本管理**: 版本发布、兼容性控制、强制更新
|
|
|
|
|
|
- **设备管理**: 设备绑定记录、解绑操作、设备禁用
|
|
|
|
|
|
- **统计分析**: 激活趋势、卡密分布、设备统计
|
|
|
|
|
|
- **工单系统**: 用户反馈处理、工单跟踪
|
|
|
|
|
|
|
|
|
|
|
|
#### 3. 数据模型设计
|
|
|
|
|
|
- **完整的ER模型**: 产品、版本、许可证、设备、工单、管理员
|
|
|
|
|
|
- **数据完整性**: 外键约束、级联删除、唯一性约束
|
|
|
|
|
|
- **状态管理**: 清晰的状态流转和业务规则
|
|
|
|
|
|
|
|
|
|
|
|
#### 4. API接口系统
|
|
|
|
|
|
- **RESTful API**: 标准化的API设计
|
|
|
|
|
|
- **安全认证**: 签名验证、防重放攻击
|
|
|
|
|
|
- **批量操作**: 支持卡密批量生成、导入导出
|
|
|
|
|
|
- **分页查询**: 高效的数据分页机制
|
|
|
|
|
|
|
|
|
|
|
|
#### 5. Web管理界面
|
|
|
|
|
|
- **现代化UI**: Bootstrap 5 + Chart.js
|
|
|
|
|
|
- **响应式设计**: 支持移动端访问
|
|
|
|
|
|
- **实时图表**: 激活趋势、统计图表
|
|
|
|
|
|
- **用户体验**: Loading动画、通知提示、操作确认
|
|
|
|
|
|
|
|
|
|
|
|
## 技术架构
|
|
|
|
|
|
|
|
|
|
|
|
### 后端技术栈
|
|
|
|
|
|
- **框架**: Flask 2.3.3
|
|
|
|
|
|
- **ORM**: SQLAlchemy 3.0.5
|
|
|
|
|
|
- **数据库**: SQLite/MySQL/PostgreSQL
|
|
|
|
|
|
- **认证**: Flask-Login
|
|
|
|
|
|
- **加密**: AES + SHA256
|
|
|
|
|
|
- **API**: RESTful API
|
|
|
|
|
|
|
|
|
|
|
|
### 前端技术栈
|
|
|
|
|
|
- **UI框架**: Bootstrap 5.1.3
|
|
|
|
|
|
- **图表**: Chart.js
|
|
|
|
|
|
- **图标**: Font Awesome 6.0
|
|
|
|
|
|
- **交互**: jQuery 3.6.0
|
|
|
|
|
|
|
|
|
|
|
|
### 安全特性
|
|
|
|
|
|
- **传输加密**: HTTPS + AES加密
|
|
|
|
|
|
- **存储安全**: 敏感数据加密存储
|
|
|
|
|
|
- **访问控制**: 基于角色的权限管理
|
|
|
|
|
|
- **防攻击**: 签名验证、时间戳校验、频率限制
|
|
|
|
|
|
|
|
|
|
|
|
## 项目结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
KaMiXiTong/
|
|
|
|
|
|
├── README.md # 项目说明文档
|
|
|
|
|
|
├── requirements.txt # Python依赖包
|
|
|
|
|
|
├── setup.py # 安装脚本
|
|
|
|
|
|
├── config.py # 配置文件
|
|
|
|
|
|
├── run.py # 启动入口
|
|
|
|
|
|
├── start.py # 快速启动脚本
|
|
|
|
|
|
├── auth_validator.py # Python验证器模块
|
|
|
|
|
|
├── app/ # Web管理后台
|
|
|
|
|
|
│ ├── models/ # 数据模型
|
|
|
|
|
|
│ ├── api/ # API接口
|
|
|
|
|
|
│ ├── web/ # Web界面
|
|
|
|
|
|
│ └── utils/ # 工具函数
|
|
|
|
|
|
├── tests/ # 测试文件
|
|
|
|
|
|
├── docs/ # 文档
|
|
|
|
|
|
└── static/ # 静态文件
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 使用方式
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 快速启动
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 克隆项目
|
|
|
|
|
|
git clone https://github.com/example/kamaxitong.git
|
|
|
|
|
|
cd kamaxitong
|
|
|
|
|
|
|
|
|
|
|
|
# 一键启动
|
|
|
|
|
|
python start.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 验证器集成
|
|
|
|
|
|
```python
|
|
|
|
|
|
from auth_validator import AuthValidator
|
|
|
|
|
|
|
|
|
|
|
|
validator = AuthValidator(software_id="your_software_id")
|
|
|
|
|
|
if not validator.validate():
|
|
|
|
|
|
exit() # 验证失败退出程序
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 后台管理
|
|
|
|
|
|
- 访问地址: http://localhost:5000
|
|
|
|
|
|
- 默认账号: admin/admin123
|
|
|
|
|
|
|
|
|
|
|
|
## 数据库设计
|
|
|
|
|
|
|
|
|
|
|
|
### 核心表结构
|
|
|
|
|
|
- **product**: 产品信息表
|
|
|
|
|
|
- **version**: 版本信息表
|
|
|
|
|
|
- **license**: 许可证(卡密)表
|
|
|
|
|
|
- **device**: 设备信息表
|
|
|
|
|
|
- **ticket**: 工单表
|
|
|
|
|
|
- **admin**: 管理员表
|
|
|
|
|
|
- **operation_log**: 操作日志表
|
|
|
|
|
|
|
|
|
|
|
|
### 关键关系
|
|
|
|
|
|
- 一个产品可以有多个版本
|
|
|
|
|
|
- 一个产品可以有多个卡密
|
|
|
|
|
|
- 一个卡密只能绑定一个设备
|
|
|
|
|
|
- 一个设备只能激活一个卡密
|
|
|
|
|
|
|
|
|
|
|
|
## API文档
|
|
|
|
|
|
|
|
|
|
|
|
### 验证相关
|
|
|
|
|
|
- `POST /api/v1/auth/verify` - 验证卡密
|
|
|
|
|
|
- `POST /api/v1/auth/activate` - 激活卡密
|
|
|
|
|
|
- `GET /api/v1/auth/info` - 获取授权信息
|
|
|
|
|
|
- `POST /api/v1/auth/heartbeat` - 心跳检测
|
|
|
|
|
|
|
|
|
|
|
|
### 管理相关
|
|
|
|
|
|
- `GET/POST /api/v1/products` - 产品管理
|
|
|
|
|
|
- `GET/POST /api/v1/licenses` - 卡密管理
|
|
|
|
|
|
- `GET/POST /api/v1/versions` - 版本管理
|
|
|
|
|
|
- `GET /api/v1/devices` - 设备管理
|
|
|
|
|
|
- `GET /api/v1/statistics/*` - 统计分析
|
|
|
|
|
|
|
|
|
|
|
|
## 安全机制
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 验证器安全
|
|
|
|
|
|
- 机器码唯一性校验
|
|
|
|
|
|
- 本地缓存加密存储
|
|
|
|
|
|
- 防篡改完整性检查
|
|
|
|
|
|
- 多次失败锁定机制
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 通信安全
|
|
|
|
|
|
- HTTPS传输加密
|
|
|
|
|
|
- 请求签名验证
|
|
|
|
|
|
- 时间戳防重放
|
|
|
|
|
|
- 敏感数据AES加密
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 后台安全
|
|
|
|
|
|
- 管理员权限分级
|
|
|
|
|
|
- 操作日志记录
|
|
|
|
|
|
- 数据库加密存储
|
|
|
|
|
|
- 会话安全管理
|
|
|
|
|
|
|
|
|
|
|
|
## 测试覆盖
|
|
|
|
|
|
|
|
|
|
|
|
### 单元测试
|
|
|
|
|
|
- 机器码生成测试
|
|
|
|
|
|
- 数据模型测试
|
|
|
|
|
|
- API接口测试
|
|
|
|
|
|
- 缓存机制测试
|
|
|
|
|
|
|
|
|
|
|
|
### 集成测试
|
|
|
|
|
|
- 完整验证流程测试
|
|
|
|
|
|
- 批量操作测试
|
|
|
|
|
|
- 并发访问测试
|
|
|
|
|
|
- 异常处理测试
|
|
|
|
|
|
|
|
|
|
|
|
## 部署建议
|
|
|
|
|
|
|
|
|
|
|
|
### 开发环境
|
|
|
|
|
|
```bash
|
|
|
|
|
|
python start.py
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 生产环境
|
|
|
|
|
|
```bash
|
2025-11-16 19:06:49 +08:00
|
|
|
|
# 使用一键部署脚本(推荐)
|
|
|
|
|
|
python deploy.py --setup-service --setup-nginx
|
|
|
|
|
|
|
|
|
|
|
|
# 或者手动部署
|
2025-11-11 21:39:12 +08:00
|
|
|
|
pip install gunicorn
|
|
|
|
|
|
gunicorn -w 4 -b 0.0.0.0:5000 run:app
|
|
|
|
|
|
|
|
|
|
|
|
# 使用Nginx反向代理
|
|
|
|
|
|
# 配置SSL证书
|
|
|
|
|
|
# 设置防火墙规则
|
2025-11-16 19:06:49 +08:00
|
|
|
|
|
|
|
|
|
|
# 前端域名配置
|
|
|
|
|
|
# 在.env文件中设置FRONTEND_DOMAIN=https://your-domain.com
|
|
|
|
|
|
# 或通过管理后台配置
|
2025-11-11 21:39:12 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### Docker部署
|
|
|
|
|
|
```dockerfile
|
|
|
|
|
|
FROM python:3.9-slim
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
COPY requirements.txt .
|
|
|
|
|
|
RUN pip install -r requirements.txt
|
|
|
|
|
|
COPY . .
|
|
|
|
|
|
EXPOSE 5000
|
|
|
|
|
|
CMD ["python", "start.py"]
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 扩展性
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 多语言支持
|
|
|
|
|
|
- 验证器提示文案国际化
|
|
|
|
|
|
- 后台界面多语言切换
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 支付集成
|
|
|
|
|
|
- 在线购买卡密
|
|
|
|
|
|
- 自动发放授权
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 通知系统
|
|
|
|
|
|
- 邮件通知
|
|
|
|
|
|
- 短信提醒
|
|
|
|
|
|
- 微信通知
|
|
|
|
|
|
|
|
|
|
|
|
### 4. 高级分析
|
|
|
|
|
|
- 用户行为分析
|
|
|
|
|
|
- 收入统计报表
|
|
|
|
|
|
- 地域分布统计
|
|
|
|
|
|
|
|
|
|
|
|
## 性能优化
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 数据库优化
|
|
|
|
|
|
- 索引优化
|
|
|
|
|
|
- 查询优化
|
|
|
|
|
|
- 连接池配置
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 缓存策略
|
|
|
|
|
|
- Redis缓存
|
|
|
|
|
|
- 本地缓存
|
|
|
|
|
|
- CDN加速
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 负载均衡
|
|
|
|
|
|
- 应用层负载均衡
|
|
|
|
|
|
- 数据库读写分离
|
|
|
|
|
|
- 静态资源分离
|
|
|
|
|
|
|
|
|
|
|
|
## 维护指南
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 日常维护
|
|
|
|
|
|
- 数据备份
|
|
|
|
|
|
- 日志清理
|
|
|
|
|
|
- 性能监控
|
|
|
|
|
|
|
|
|
|
|
|
### 2. 安全维护
|
|
|
|
|
|
- 定期更新依赖
|
|
|
|
|
|
- 安全漏洞扫描
|
|
|
|
|
|
- 访问日志审计
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 升级指南
|
|
|
|
|
|
- 数据库迁移
|
|
|
|
|
|
- 配置文件更新
|
|
|
|
|
|
- 向后兼容性保证
|
|
|
|
|
|
|
|
|
|
|
|
## 贡献指南
|
|
|
|
|
|
|
|
|
|
|
|
### 1. 开发规范
|
|
|
|
|
|
- 代码风格遵循PEP8
|
|
|
|
|
|
- 提交前运行测试
|
|
|
|
|
|
- 编写清晰的文档
|
|
|
|
|
|
|
|
|
|
|
|
### 2. Bug报告
|
|
|
|
|
|
- 使用GitHub Issues
|
|
|
|
|
|
- 提供详细复现步骤
|
|
|
|
|
|
- 包含环境信息
|
|
|
|
|
|
|
|
|
|
|
|
### 3. 功能建议
|
|
|
|
|
|
- 描述使用场景
|
|
|
|
|
|
- 说明预期行为
|
|
|
|
|
|
- 考虑向后兼容
|
|
|
|
|
|
|
|
|
|
|
|
## 许可证
|
|
|
|
|
|
|
|
|
|
|
|
MIT License - 详见 LICENSE 文件
|
|
|
|
|
|
|
|
|
|
|
|
## 联系方式
|
|
|
|
|
|
|
|
|
|
|
|
- 项目主页: https://github.com/example/kamaxitong
|
|
|
|
|
|
- 文档地址: https://docs.example.com/kamaxitong
|
|
|
|
|
|
- 问题反馈: https://github.com/example/kamaxitong/issues
|
|
|
|
|
|
- 邮箱: support@example.com
|
|
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
|
|
**注意**: 这是一个完整的生产级软件授权管理系统,包含完整的前后端实现。在使用前请仔细阅读文档,确保理解各个组件的功能和配置方法。
|