# 软件及卡密管理系统 一款面向Python开发者的轻量化软件授权控制+全生命周期管理系统,核心解决"Python软件盗版防护、卡密授权管控、软件版本迭代管理"三大核心需求。 ## 项目结构 ``` KaMiXiTong/ ├── README.md # 项目说明文档 ├── requirements.txt # Python依赖包 ├── setup.py # 安装脚本 ├── config.py # 配置文件 ├── run.py # 启动入口 ├── auth_validator.py # Python验证器模块(供开发者嵌入) ├── app/ # Web管理后台 │ ├── __init__.py │ ├── models/ # 数据模型 │ │ ├── __init__.py │ │ ├── product.py # 产品模型 │ │ ├── version.py # 版本模型 │ │ ├── license.py # 许可证(卡密)模型 │ │ ├── device.py # 设备模型 │ │ ├── ticket.py # 工单模型 │ │ └── admin.py # 管理员模型 │ ├── api/ # API接口 │ │ ├── __init__.py │ │ ├── auth.py # 验证相关API │ │ ├── product.py # 产品管理API │ │ ├── version.py # 版本管理API │ │ ├── license.py # 卡密管理API │ │ ├── device.py # 设备管理API │ │ ├── ticket.py # 工单管理API │ │ └── statistics.py # 统计分析API │ ├── web/ # Web界面 │ │ ├── __init__.py │ │ ├── views.py # 页面路由 │ │ └── templates/ # HTML模板 │ │ ├── base.html │ │ ├── login.html │ │ ├── dashboard.html │ │ ├── product/ │ │ ├── version/ │ │ ├── license/ │ │ ├── device/ │ │ └── ticket/ │ └── utils/ # 工具函数 │ ├── __init__.py │ ├── crypto.py # 加密工具 │ ├── machine_code.py # 机器码生成 │ └── validators.py # 验证工具 ├── tests/ # 测试文件 │ ├── __init__.py │ ├── test_validator.py # 验证器测试 │ ├── test_api.py # API测试 │ └── test_models.py # 模型测试 ├── docs/ # 文档 │ ├── API.md # API文档 │ ├── INTEGRATION.md # 集成文档 │ └── EXAMPLES.md # 使用示例 ├── migrations/ # 数据库迁移文件 │ └── init.sql └── static/ # 静态文件 ├── css/ ├── js/ └── uploads/ ``` ## 核心功能 ### 1. Python验证器 (auth_validator.py) - 轻量级授权验证模块,开发者可嵌入自有Python软件 - 支持在线/离线验证模式 - 跨平台机器码生成 - 防篡改机制 ### 2. Web管理后台 - 产品管理:创建、编辑、删除软件产品 - 版本管理:版本发布、兼容性控制 - 卡密管理:批量生成、导入导出、状态控制 - 设备管理:设备绑定、解绑、禁用 - 数据统计:下载量、活跃度分析 - 工单管理:用户反馈处理 ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 初始化数据库 #### SQLite数据库(默认) ```bash python init_db_sqlite.py ``` #### MySQL数据库 1. 配置.env文件中的DATABASE_URL为MySQL连接字符串: ``` DATABASE_URL=mysql+pymysql://username:password@localhost:3306/database_name ``` 2. 运行MySQL初始化脚本: ```bash python init_db_mysql.py ``` ### 3. 启动后台 ```bash python run.py ``` ### 4. 嵌入验证器 ```python from auth_validator import AuthValidator validator = AuthValidator(software_id="your_software_id") if not validator.validate(): exit() # 验证失败退出程序 ``` ## 技术栈 - **后端**: Flask + SQLAlchemy + MySQL/SQLite - **前端**: Bootstrap + jQuery - **加密**: AES + SHA256 - **验证器**: 纯Python,支持Python 3.6+ ## 安全特性 - HTTPS通信加密 - 数据库敏感信息加密存储 - 验证器防篡改机制 - 机器码唯一性校验 - 防重放攻击 ## 许可证 MIT License