应急恢复与灾后自救
在极端的灾难场景(如原服务器彻底损坏、数据库意外泄露或部署平台账号被封)下,NodeAuth 为您提供了多层次的资产保护伞。请根据您手头现有的“生存物资”选择最合适的恢复路径。
🚑 灾难恢复决策矩阵
| 手头现有的“生存物资” | 推荐恢复路径 | 核心原理 | 成功率 |
|---|---|---|---|
| PDF (Recovery Kit) + 完整数据库文件 | 路径 A:环境级完美复活 | 还原原有的 ENCRYPTION_KEY 并挂载旧库 | 100% |
| 导出的备份文件 (.json / .csv) | 路径 B:业务级数据导入 | 在新实例中通过“数据导入”并验证密码 | 100% |
| 加密备份文件 + 离线解密脚本 | 路径 C:极端脱机人工读取 | 使用 Node.js 脚本直接查看明文 JSON | 100% |
📄 路径 A:环境级复活 (使用 Recovery Kit)
场景:您有原有的数据库(如 Cloudflare D1 或 Docker 的 data/ 目录),但记不清原来的环境变量 ENCRYPTION_KEY 了。
- 准备环境:在任何平台上重新部署一个新的 NodeAuth。
- 找回密钥:打开您的 Recovery Kit PDF,找到其中保存的
ENCRYPTION_KEY。 - 重建变量:在新的部署环境中,手动将该 Key 填入环境变量。
- 连接数据:确保新部署连接到了您之前的数据库。
- 瞬时复活:登录新实例,由于密钥一致,系统能立即解密读取数据库里的原有账户。
TIP
关于 Recovery Kit 的生成与验证:为了强制您妥善保存这份“生命线”,系统在初始化点击下载 PDF 后,要求您必须手动输入该 Key 的最后 4 个字符。只有验证通过,实例才算正式激活。
📂 路径 B:业务级恢复 (使用数据导入)
场景:您没有旧数据库,但您平时养成了定期“数据导出”或开启了“云端定期备份”的好习惯。
- 准备环境:建立一个全新的 NodeAuth 实例,配置全新的环境变量。
- 获取文件:从您的 U 盘、邮箱或 Telegram/S3/网盘中下载最新的备份包。
- 执行导入:
- 前往“数据管理” -> “数据导入”。
- 上传您的
.json或.csv文件。 - 如果是加密的 JSON,输入您备份时设置的备份密码(注意:这通常与应用 PIN 码不同)。
- 合并成功:您的 2FA 资产将批量导入到当前新实例中。
🛠️ 路径 C:离线手动解密 (使用解密脚本)
场景:极端的生存环境,无法立即搭建 NodeAuth 服务,但急需查看某个账户的 Secret 或动态码。
- 前提:拥有加密的
.json备份文件 + 备份密码 + scripts/decrypt_backup.js。 - 运行环境:只需安装 Node.js。
- 操作命令:bash
node decrypt_backup.js <备份文件名.json> <备份密码> - 结果:解密后的明文数据将直接在控制台显示,并另存为 JSON 文件。
CAUTION
终极警告:如果您既没有保存 Recovery Kit 导致 ENCRYPTION_KEY 丢失,又没有导出过任何备份文件,那么全世界没有任何人(包括开发者)能帮您找回数据。请务必将 Recovery Kit 打印后与护照或房产证放在一起。