不用服务器,自建密码库

自建 Bitwarden 密码管理器一直有个门槛:你得有台服务器。Vaultwarden 很好,但需要 VPS。如果你想省掉服务器钱、又不想把密码存在别人的云上,NodeWarden 给了一个新选择——跑在 Cloudflare Workers 上的 Bitwarden 兼容服务端

NodeWarden

它完全免费就能跑起来,利用 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 一键部署(推荐)

  1. Fork 仓库——把 shuaiplus/nodewarden fork 到自己的 GitHub
  2. 打开 Cloudflare Dashboard——Workers & Pages → Create → "连接到 Git" → 选你 fork 的仓库
  3. 配置构建命令
    构建命令:npm run build
    部署命令:npm run deploy        # R2 模式(推荐)
    或
    部署命令:npm run deploy:kv     # KV 模式(无需信用卡)
  4. 部署完成——打开生成的 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)