Kamixitong/PROJECT_SUMMARY.md
2025-11-16 19:06:49 +08:00

7.2 KiB
Raw Blame History

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. 快速启动

# 克隆项目
git clone https://github.com/example/kamaxitong.git
cd kamaxitong

# 一键启动
python start.py

2. 验证器集成

from auth_validator import AuthValidator

validator = AuthValidator(software_id="your_software_id")
if not validator.validate():
    exit()  # 验证失败退出程序

3. 后台管理

数据库设计

核心表结构

  • 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接口测试
  • 缓存机制测试

集成测试

  • 完整验证流程测试
  • 批量操作测试
  • 并发访问测试
  • 异常处理测试

部署建议

开发环境

python start.py

生产环境

# 使用一键部署脚本(推荐)
python deploy.py --setup-service --setup-nginx

# 或者手动部署
pip install gunicorn
gunicorn -w 4 -b 0.0.0.0:5000 run:app

# 使用Nginx反向代理
# 配置SSL证书
# 设置防火墙规则

# 前端域名配置
# 在.env文件中设置FRONTEND_DOMAIN=https://your-domain.com
# 或通过管理后台配置

Docker部署

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 文件

联系方式


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