不用服务器,自建密码库
自建 Bitwarden 密码管理器一直有个门槛:你得有台服务器。Vaultwarden 很好,但需要 VPS。如果你想省掉服务器钱、又不想把密码存在别人的云上,NodeWarden 给了一个新选择——跑在 Cloudflare Workers 上的 Bitwarden 兼容服务端。
它完全免费就能跑起来,利用 Cloudflare 的 Workers + D1(SQLite 数据库)+ R2/KV(文件存储)组合,把整个 Bitwarden 后端塞进了无服务器环境。官方 Bitwarden 客户端(桌面端、手机、浏览器插件)都能直接连过来用。
目前 2.6k Star,在「Cloudflare Workers 上能做多复杂的东西」这件事上算是标杆级别的项目。
核心优势
| 对比项 | NodeWarden | Vaultwarden | 官方 Bitwarden |
|---|---|---|---|
| 部署方式 | Cloudflare Workers(无服务器) | VPS / Docker | 云服务 / 自建 |
| 运行成本 | 免费(Workers 免费额度足够) | 需要 VPS(月费 $5+) | 免费版够用 / 高级版 $10/年 |
| 数据存储 | Cloudflare D1 + R2/KV | 本地 SQLite | 云端 |
| 附件限制 | KV 25MB / R2 100MB | 取决于磁盘 | 100MB(免费版) |
| 组织/团队 | ❌ 未实现 | ✅ 支持 | ✅ 支持 |
完整部署流程
方式一:Cloudflare 一键部署(推荐)
- Fork 仓库——把 shuaiplus/nodewarden fork 到自己的 GitHub
- 打开 Cloudflare Dashboard——Workers & Pages → Create → "连接到 Git" → 选你 fork 的仓库
- 配置构建命令:
构建命令:npm run build 部署命令:npm run deploy # R2 模式(推荐) 或 部署命令:npm run deploy:kv # KV 模式(无需信用卡) - 部署完成——打开生成的 workers.dev 域名,按提示添加
JWT_SECRET环境变量(至少 32 位随机字符),注册账号即可使用
D1 数据库会在第一次请求时自动初始化,不需要手动跑 SQL。
方式二:Wrangler CLI 部署
git clone https://github.com/shuaiplus/NodeWarden.git
cd NodeWarden
npm install
npx wrangler login
# R2 模式(推荐,文件上限 100MB)
npm run deploy
# KV 模式(无需信用卡,文件上限 25MB)
npm run deploy:kv
本地开发
npm run dev # R2 模式
npm run dev:kv # KV 模式
更新
- 手动:在 GitHub fork 里点 "Sync fork" → "Update branch"
- 自动:在你的 fork 仓库的 Actions 页面开启 "Sync upstream" 工作流(每天凌晨 3 点自动同步)
R2 vs KV 怎么选?
这是部署时最需要做的选择:
| R2 | KV | |
|---|---|---|
| 信用卡要求 | 需要(即使免费额度也需绑定) | 不需要 |
| 单个文件上限 | 100MB(软限制) | 25MB |
| 免费额度 | 10GB 存储 | 1GB 存储 |
推荐:如果绑了信用卡就用 R2 模式,文件限制更宽松。如果只是想试试水或者不想绑卡,KV 模式完全够用。
功能清单
✅ 已实现
- Web Vault——原创界面,功能完整的网页端密码管理
- API 同步——完整支持
/api/sync接口,官方客户端兼容 - 附件 / Send——支持上传下载,配合 R2/KV 存储
- 导入——Bitwarden JSON / CSV / ZIP(含附件)、NodeWarden JSON、浏览器导出格式
- 导出——Bitwarden JSON / Encrypted JSON / ZIP 含附件 / NodeWarden JSON / 完整手动备份
- 云备份中心——WebDAV & E3 (S3) 定时备份。附件采用增量存储,恢复时安全跳过缺失文件。
- TOTP——支持标准 TOTP 和 Steam TOTP(
steam://) - 密码提示——无需邮件服务器即可发送密码提示
- 多用户——通过邀请码注册
❌ 未实现
- 组织/团队/集合——暂不支持
- SSO / SCIM / 企业目录
- 登录双因素认证(仅实现了用户级 TOTP)
✅ 已验证的客户端
Windows 桌面端、手机 App、浏览器插件、Linux 桌面端——全都可用。macOS 桌面端尚未完整验证,但应该也能用。
亮点功能:云备份中心
这是 NodeWarden 相比官方 Bitwarden 和 Vaultwarden 的一个独特优势。内置的 WebDAV / S3 备份功能可以按计划自动备份你的密码库,附件使用稳定 blob 名称避免重复上传。即使某些附件在备份源中缺失,恢复时也会安全跳过,不会导致整个恢复失败。
我的看法
NodeWarden 做了一个很有意思的事:把「自建密码服务」的门槛从「需要一台 VPS」降到了「有一个 Cloudflare 账号」。对于已经在用 Cloudflare 的人来说,部署起来就几分钟的事。
它的定位很清晰——个人密码管理。不需要组织管理、不需要企业 SSO、不需要 2FA 登录验证,就自己或家人用。如果需求刚好落在这个范围,它比 Vaultwarden 更省事(不用管服务器),比官方更私密(数据在你自己控制的 Cloudflare 账号里)。
当然它也有限制:Cloudflare Workers 的执行时长和内存限制决定了它不能处理太复杂的操作,缺少组织功能也让它在团队场景下没法用。另外依赖 Cloudflare 生态意味着哪天 Workers 的免费策略变了也会受影响。
但总体来说,对单独用户或小家庭来说,这是一个非常优雅的自建方案。2.6k Star 和 2.6k Fork 的比例说明很多人确实在用。
项目地址:shuaiplus/nodewarden · 许可:LGPL-3.0 · 🌟 2.6k Stars(截至 2026-06-09)