如何把密码从其他管理器迁移到 NodeWarden:JSON / CSV / ZIP 导入导出实战指南
【免费下载链接】nodewardenBitwarden-compatible server running on Cloudflare Workers项目地址: https://gitcode.com/gh_mirrors/no/nodewarden
NodeWarden 是一款运行在 Cloudflare Workers 上的 Bitwarden 兼容密码管理服务器,内置完整的导入/导出功能,可以把你在 Bitwarden、1Password、KeePass、Chrome、LastPass 等密码管理器中保存的账号密码、安全笔记、卡片和附件,一键迁移到自己的 NodeWarden 保险库中。无论你是从浏览器导出的 CSV 文件,还是带附件的 Bitwarden ZIP 备份,都能轻松完成密码迁移。
先了解:NodeWarden 支持哪些导入格式?
在 webapp/src/lib/import-format-sources.ts 中定义了全部 48 种导入源,覆盖主流密码管理器与浏览器。常用格式速查如下:
| 来源 | 格式 | 说明 |
|---|---|---|
| Bitwarden | JSON / CSV / ZIP | 官方导出格式,ZIP 可含附件 |
| NodeWarden | JSON | 从另一个 NodeWarden 实例迁移,含附件 |
| 1Password | 1pux / 1pif / CSV | 支持加密导出包 |
| ProtonPass | JSON / ZIP | 直接导入导出压缩包 |
| Chrome / Edge / Brave / Firefox / Safari | CSV | 浏览器"导出密码"生成的文件 |
| KeePass / KeePassX | XML / CSV | 桌面密码库 |
| LastPass / Dashlane / Keeper / mSecure 等 | CSV / JSON | 共 40+ 种 |
💡 找不到你的来源?优先试CSV——几乎所有密码管理器都能导出 CSV。
三步完成密码导入
进入保险库后,访问导入导出页面(路由为/backup/import-export,见 webapp/src/App.tsx),页面由 webapp/src/components/ImportPage.tsx 实现,分为"导入"和"导出"两个面板。
第 1 步:选择来源格式
在"格式"下拉框中选中你的密码来源,例如:
- 从 Bitwarden 官方导出 →Bitwarden (json)
- 从浏览器导出 →Chrome/Firefox (csv)
- 从 1Password 导出 →1Password (1pux/json)
第 2 步:上传文件并设置文件夹策略
选中源文件后,还要选择文件夹处理方式(三种):
- 保留导入文件中的原始路径(默认)——原保险库的文件夹结构原样保留
- 不使用文件夹——全部条目平铺
- 导入到指定文件夹——统一归入你选定的一个文件夹
第 3 步:点击"导入",查看结果
导入成功后会弹出汇总弹窗,显示导入了多少条目、附件成功/失败数量,以及按类型(登录、安全笔记、卡片等)统计的明细,方便你核对数据是否完整。
实战场景:三种典型迁移方式
场景一:导入浏览器 CSV(最常见)
- 在 Chrome 中打开
chrome://settings/passwords→ 导出密码,得到 CSV 文件 - 在 NodeWarden 中选择格式Chrome,上传该 CSV
- 选择文件夹策略 → 点击导入
Firefox 和 Safari 的操作同理,分别选择Firefox (csv)和Safari and macOS (csv)。
场景二:导入 Bitwarden JSON(推荐,信息最全)
Bitwarden 桌面/网页端导出JSON时,会保留 TOTP 密钥、自定义字段、密码历史等 CSV 丢失的信息,是迁移的首选格式。
- 明文 JSON:直接选择Bitwarden (json)上传即可
- 加密 JSON:若导出时勾选了加密,NodeWarden 会检测出该文件属于哪个账号,自动用你的账户密钥解密导入(见 ImportPage.tsx)
- 密码保护 JSON:如果导出时设置的是独立文件密码,导入时会弹窗提示输入该密码,支持 PBKDF2 和 Argon2id 两种密钥派生(见 ImportPage.tsx)
场景三:导入 ZIP 备份(连附件一起迁移)
选择Bitwarden (zip)或NodeWarden (json)可以导入带附件的完整备份:
- ZIP 中的
data.json提供条目数据,attachments/目录下的文件自动关联回对应条目 - 若 ZIP 本身设置了密码,导入时会先提示输入 ZIP 密码
- 安全限制:ZIP 最大 256 MiB,单附件最大 100 MiB,附件总量 512 MiB(见 ImportPage.tsx)
1Password 的1pux导出包和 ProtonPass 的 ZIP 导出也能直接导入,系统会自动从压缩包中提取export.json/protonpass.json。
导出:把 NodeWarden 数据带走去哪里?
导出面板提供 7 种格式(定义在 webapp/src/lib/export-formats.ts):
| 格式 | 用途 |
|---|---|
| Bitwarden (vault as json) | 明文 JSON,可导入任何 Bitwarden 兼容服务 |
| Bitwarden (vault as csv) | CSV,供其他工具使用 |
| Bitwarden (encrypted vault as json) | 用账户密钥加密,仅原账号可导入 |
| Bitwarden (vault + attachments as zip) | 条目 + 附件完整备份 |
| Bitwarden (encrypted vault + attachments as zip) | 加密 + 可选 ZIP 密码,最安全 |
| NodeWarden (vault + attachments as json) | 单文件 JSON 完整备份(含 base64 附件) |
| NodeWarden (encrypted vault + attachments as json) | 加密单文件备份 |
导出前需要输入主密码验证身份;若选择"密码验证"模式,还可额外设置一个独立文件密码(见 ImportPage.tsx)。导出的 NodeWarden JSON 中,附件以 base64 内嵌在nodewardenAttachments字段中,迁移到另一台 NodeWarden 实例时选择NodeWarden (json)即可完整还原。
常见问题(FAQ)
Q:CSV 导入后 TOTP 验证码丢失了?A:Bitwarden CSV 只包含 TOTP 列(login_totp),自定义字段、附件、密码历史等都不在 CSV 中。请优先使用 JSON 或 ZIP 导出迁移。
Q:提示"此加密导出文件属于另一个账号"?A:该加密 JSON 是用另一个 Bitwarden 账号的密钥加密的,无法导入当前账号。请在来源客户端重新导出,或改用明文/密码保护格式。
Q:提示"ZIP 压缩包包含不安全的文件名"?A:ZIP 中出现了绝对路径或..等危险文件名,系统出于安全拦截(见 ImportPage.tsx)。请用标准工具重新压缩。
Q:支持从 CSV 导入 2FA 恢复码或附件吗?A:CSV 仅支持登录信息和安全笔记,不支持附件。附件必须通过 Bitwarden ZIP 或 NodeWarden JSON 迁移。
迁移前的小建议
- 🔐备份三件套:迁移前先在原管理器导出加密 JSON + ZIP 各一份,并离线保存
- 📋核对条目数:导入汇总弹窗会显示总条目数,与原库数量对比确认
- 🗂️善用文件夹策略:多来源合并导入时,选"导入到指定文件夹"可避免条目散落
- ⚠️明文文件要慎传:明文 JSON/CSV 含全部密码,传输和保存时注意隐私,用完及时删除
更多能力对比(导入/导出、备份中心、附件等),可参考 README_ZH.md。
按以上步骤操作,几分钟内就能把其他密码管理器的数据完整迁移到 NodeWarden——从此你的密码库完全由自己掌控 🚀
【免费下载链接】nodewardenBitwarden-compatible server running on Cloudflare Workers项目地址: https://gitcode.com/gh_mirrors/no/nodewarden
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考