Kamixitong/PROJECT_SUMMARY.md

297 lines
7.2 KiB
Markdown
Raw Normal View History

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
---
**注意**: 这是一个完整的生产级软件授权管理系统,包含完整的前后端实现。在使用前请仔细阅读文档,确保理解各个组件的功能和配置方法。