# 更新说明 — crypto_key 本文档记录各版本功能变更与升级注意事项。 --- ## v2.0.0(当前) ### 新增 - **登录系统**:用户名 + 密码(单用户),凭据保存在 `.env` - **数据加密**:`data.json` 使用 Fernet(AES)加密存储,密钥为 `DATA_ENCRYPTION_KEY`(`.env`) - **凭证类型扩展**: - 交易所 API(Binance / OKX / Gate) - 网站账号(网址可点击) - 邮箱账户(mailto / 网页登录链接) - 企业微信机器人、钉钉机器人 - 微信(微信号 + 手机号)、QQ(QQ 号 + 手机号) - **自定义类型**:系统设置中自行添加字段(如小红书、抖音、快手) - **系统设置页**: - 修改登录用户名/密码(写入 `.env`) - 管理自定义类型(增删、搜索) - **查询机制**:添加后不自动展示;按类型 + 关键词 +「确认」后显示 - **类型搜索**:添加/查询时支持输入过滤类型 - **旧数据迁移**:明文 `data.json` 首次加载自动转为加密格式 ### 变更 - 监听地址由 `127.0.0.1` 改为 **`0.0.0.0`**,支持局域网访问 - API 主路径由 `/api/accounts` 扩展为 `/api/credentials`(保留旧路径兼容) - 数据模型由固定 `username/api_key/api_secret` 改为 `type_id + fields` 结构 - 依赖增加:`python-dotenv`、`cryptography`、`werkzeug` ### 安全 - 浏览器 **不** 使用 localStorage/sessionStorage 存储明文 - Session Cookie 设置 `HttpOnly`、`SameSite=Lax` - `.env`、`data.json`、`settings.json` 默认加入 `.gitignore` ### 升级注意(从 v1.x 升级) 1. 备份现有 `data.json`: ```bash cp data.json data.json.bak ``` 2. 安装新依赖: ```bash pip install -r requirements.txt ``` 3. 配置 `.env`(可复制 `.env.example`,或首次运行自动生成): - `SECRET_KEY` - `AUTH_USERNAME` / `AUTH_PASSWORD` - `DATA_ENCRYPTION_KEY` 4. 启动服务,旧明文数据将 **自动迁移** 为加密格式。 5. 使用默认或自定义账号登录,在「系统设置」中修改密码。 6. PM2 用户执行:`pm2 restart api-key-manager` > **重要**:升级后切勿删除或修改 `.env` 中的 `DATA_ENCRYPTION_KEY`,否则无法解密已有数据。 --- ## v1.2.0 ### 新增 - 交易所下拉:Binance / OKX / Gate - OKX 专用 Passphrase 字段 - 按交易所查询(下拉 + 确认) - 添加成功后默认不展示列表 - 敏感字段打码显示(复制仍为明文) ### 变更 - 支持局域网访问(`0.0.0.0:5200`) --- ## v1.1.0 ### 新增 - PM2 守护进程支持(`ecosystem.config.cjs`) - Ubuntu `/opt/crypto_key` 部署脚本与文档 - 启动脚本:`pm2-start.sh` / `pm2-start.ps1` --- ## v1.0.0 ### 初始功能 - Flask 后端 + 单页前端(黑色主题) - 多账户 API 密钥管理:`username`、`api_key`、`api_secret` - 本地 `data.json` 明文存储 - 每条记录三个复制按钮 - 端口 5200,无登录 --- ## 版本规划(待定) - [ ] 可选 HTTPS / 反向代理说明模板 - [ ] 凭证编辑(当前仅支持添加、删除) - [ ] 导出/导入加密备份包 - [ ] 登录失败次数限制