NodeWarden:零成本自建密码管理服务的终极方案
我前阵子整理了一下自己的网络账户,数了数超过600个,然后就开始慌了——这些密码我都是怎么管的?说实话,和大多数人一样,之前就是让浏览器帮我记。Chrome保存、Edge保存、Safari保存,看起来挺方便的对吧?但认真研究了一下浏览器密码管理器的安全性之后,我发现这玩意儿简直是在裸奔。
浏览器密码管理器到底有多不靠谱
先说方便的地方:自动保存、跨设备同步、自动填充、完全免费,听起来很美好?但问题在于:
Reddit上有个帖子讲了一件事——有人在Chrome里存了600多个账号密码,开了跨设备同步,然后听说有人Chrome被黑,加密货币全没了,开了2FA都没用,黑客照样改密码把你锁在外面。这听起来像危言耸听,但技术上完全可能。
浏览器的密码存储本质上就是一个本地数据库文件。Chrome用操作系统的凭据管理器加密,但只要你登录了系统,Chrome就能解密。任何能访问你系统的恶意软件,理论上都能把你存的密码全导出来。
跨设备同步就更刺激了——你的密码存在云端,Google、Microsoft说用了强加密,但密钥在人家手里不在你手里。账号一丢,所有同步的密码全暴露。
还有一个根本性的缺陷:浏览器密码管理器只能在浏览器里用。你电脑上的Steam、微信、各种开发工具,手机上的App——这些的密码浏览器完全管不了。结果就是要么手动输,要么所有账户用同一个密码,这他妈比不管理还危险。
所以专业的密码管理器就出来了:1Password、Bitwarden、LastPass……安全性更强、跨平台、功能更丰富,但这些服务要么收费要么免费版功能受限,垃圾佬总觉得差点意思。
Passkey和TOTP:浏览器又一块短板
还有两个现代认证技术得提一下,因为它们进一步暴露了浏览器的无能。
Passkey
Passkey(通行密钥)基于FIDO2/WebAuthn标准,核心思想是用密钥对代替密码。注册时设备生成一对密钥,私钥存本地公钥给服务器;登录时服务器发挑战,设备用私钥签名,服务器用公钥验证。整个过程密码从不在网络中传输。
这东西比密码安全在哪?抗钓鱼(和域名绑定,钓鱼网站没法伪造)、不可重放(每次签名不同)、无需记忆(生物识别搞定)。Google、Microsoft、Apple、GitHub、Cloudflare、Amazon全都支持了,已经是成熟标准。
TOTP
TOTP(基于时间的一次性密码)就是大多数”验证器App”用的技术,基于共享密钥和当前时间生成6位验证码。比短信验证码好在不依赖网络、无法被拦截、所有验证器App都兼容。
浏览器呢?
Chrome的Passkey支持仅限于Google账号同步的Passkey,跨平台别想;TOTP功能Chrome压根没有。而Bitwarden、1Password这些专业选手两种都完整支持还能跨平台自动填充,差距不是一般的大。
Bitwarden与Vaultwarden
说到密码管理器,Bitwarden是绕不开的名字。
完全开源、跨平台(Windows/macOS/Linux/iOS/Android/浏览器扩展)、功能完整(密码存储、TOTP、Passkey、文件附件、安全笔记)、端到端加密,该有的都有。但官方服务收费,个人高级版$10/年,家庭版$40/年。对企业来说不算什么,对垃圾佬来说……
Vaultwarden(原名Bitwarden_RS)就是来解决这个问题的——用Rust写的非官方Bitwarden服务器实现,让你自建Bitwarden服务,免费使用高级功能:
| 功能 | 支持 |
|---|---|
| 个人密码库 | ✅ |
| Send 安全分享 | ✅ |
| 文件附件 | ✅ |
| 网站图标 | ✅ |
| 组织/团队 | ✅ |
| 多因素认证 | ✅ |
| 紧急访问 | ✅ |
几乎所有Bitwarden付费功能都支持,而且兼容Bitwarden API,直接用官方客户端就行。
但Vaultwarden有一个根本性的问题:你得自己部署和维护。需要服务器、需要保证数据安全、需要7x24小时运行、需要安全配置。对技术宅来说不是问题,对普通用户简直是噩梦。更要命的是,服务器挂了、数据丢了、被黑了——所有密码全没了。
所以问题变成了:有没有一种方案,既能自建又不用运维服务器?
Cloudflare:赛博菩萨的免费午餐
答案在Cloudflare。这家公司被戏称为”赛博菩萨”不是没有道理,大量免费优质服务,而且组合起来恰好能解决我们的问题。
Workers:无服务器计算
Cloudflare Workers是无服务器计算平台,写代码不管服务器,代码在Cloudflare全球边缘网络跑。免费额度每月10万次请求,每次10ms CPU时间,个人密码管理完全够用。
D1:SQLite数据库
D1是Cloudflare的SQLite数据库服务,专为Workers设计。免费额度5GB存储、500万行读取/天、10万行写入/天。密码数据主要是文本,我自己的密码库600多条导出后才几百KB,5GB绰绰有余。
R2:对象存储
R2兼容S3 API,免费额度10GB存储、100万次A类操作/月、1000万次B类操作/月,最关键的是流量免费,无限上传下载附件不用担心费用。
如果Vaultwarden能跑在Cloudflare上,那就完美了——零成本、高可用(Cloudflare全球网络99.99%+可用性)、零运维、数据安全级别比自己搭的服务器靠谱多了。问题是:Vaultwarden能跑在Workers上吗?
不能。
NodeWarden
NodeWarden就是干这个的——一个运行在Cloudflare Workers上的Bitwarden第三方服务端,兼容官方Bitwarden客户端,免费、零运维。
功能对比
| 功能 | Bitwarden | NodeWarden | 说明 |
|---|---|---|---|
| Web Vault | ✅ | ✅ | 网页端密码库管理 |
| 文件夹/收藏 | ✅ | ✅ | 常用管理能力 |
| 全量同步 | ✅ | ✅ | 已做兼容与性能优化 |
| 附件上传/下载 | ✅ | ✅ | R2和KV二选一 |
| 导入导出 | ✅ | ✅ | 完整实现,含密码库+附件ZIP导入 |
| 网站图标代理 | ✅ | ✅ | 自动获取网站图标 |
| Passkey、TOTP | ✅ | ✅ | 完全支持,无需高级版 |
| Send | ✅ | ✅ | 安全分享功能 |
| 多用户 | ✅ | ✅ | 完整用户管理,邀请机制 |
客户端支持:Windows ✅、手机App(iOS/Android)✅、浏览器扩展(Chrome/Firefox/Edge/Safari)✅、Linux ✅、macOS ⬜(未测试,理论上可用)
部署有多简单?
- Fork NodeWarden的GitHub仓库,顺手点个Star
- 打开Cloudflare Workers控制台,选择”Continue with GitHub”,选你Fork的仓库,下一步默认用R2存储,没开通R2(需要绑卡)就切换KV,点击部署
- 几分钟后服务上线,Cloudflare给你一个
.workers.dev域名,也可以绑自己的域名
存储方式对比:
| 存储 | 是否需绑卡 | 单个附件上限 | 免费额度 |
|---|---|---|---|
| R2 | 需要 | 100 MB | 10 GB |
| KV | 不需要 | 25 MB | 1 GB |
有信用卡推荐R2,没有的话KV也够用。
习惯命令行的话也可以CLI部署:
1
2
3
4
5
6
git clone https://github.com/shuaiplus/NodeWarden.git
cd NodeWarden
npm install
npx wrangler login
npm run deploy # R2模式
npm run deploy:kv # KV模式,无需信用卡
多用户
第一个注册的用户自动成为管理员,管理员可以在管理页面生成邀请码,其他人凭邀请码注册。可以和家人朋友共享这个服务。
数据备份
Cloudflare可靠性极高,但数据安全无小事。NodeWarden支持在客户端导出密码库为JSON文件,建议定期备份。支持的导入格式:Bitwarden json/csv、密码库+附件zip、NodeWarden密码库+附件json(含加密模式)。还支持直接导入Bitwarden密码库+附件zip,这条路径官方Bitwarden Web暂不支持。
算一笔账
- 1Password:个人版$2.99/月=$35.88/年,家庭版$4.99/月=$59.88/年
- Bitwarden官方:个人高级版$10/年,家庭版$40/年
- 自建Vaultwarden:VPS $24-100+/年 + 域名$10/年 + 时间成本无法估量 + 数据丢失风险
- NodeWarden:$0,运维成本0,可靠性Cloudflare级别
对于我们垃圾佬来说,选择显而易见。零成本、零运维、高可用,完全开源代码可审计,加上Cloudflare的全球网络和安全能力,密码数据比放在任何自建服务器上都安全。
几点提醒
- 主密码很重要——NodeWarden端到端加密,只有你的主密码能解密,忘了就没了,务必妥善保管
- 定期备份——Cloudflare很可靠但数据安全无小事,建议定期在客户端导出备份
- 免责声明——NodeWarden是第三方实现,与Bitwarden官方无关,遇到问题去GitHub Issues反馈,别骚扰Bitwarden官方
- 数据归属——数据存在Cloudflare服务器上,Cloudflare值得信赖,但如果你对数据主权有极高要求,可能需要考虑其他方案
数据安全无价,但保护它不一定需要花钱。感谢shuaiplus开发出这么棒的项目并开源分享,如果对你有帮助别忘了去GitHub点个Star。从现在开始,我的密码不需要任何服务器了!!



