5.2 KiB
5.2 KiB
title, type, tags, date
| title | type | tags | date | ||||
|---|---|---|---|---|---|---|---|
| NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers,彻底告别服务器 | source |
|
2026-02-27 |
Source File
Summary (用中文描述)
- 核心主题:NodeWarden 将 Bitwarden 服务器端部署到 Cloudflare Workers,实现真正的无服务器(Serverless)密码管理
- 问题域:传统 Bitwarden 自托管需要维护 VPS/服务器,NodeWarden 彻底消除了这一需求
- 方法/机制:通过 Cloudflare Workers 运行 Bitwarden API 兼容层,数据存储在 Cloudflare D1(SQLite)和 R2(对象存储),利用 Workers 的边缘计算能力实现全球低延迟访问
- 结论/价值:用户只需一个 Cloudflare 账号(带域名和信用卡)和 GitHub 账号,即可零成本、零运维地运行自托管密码管理器,支持 Bitwarden 官方全平台客户端
Key Claims (用中文描述)
- NodeWarden 通过 Cloudflare Workers 实现无服务器架构,将 Bitwarden 服务器端迁移到边缘计算平台
- Cloudflare D1(边缘 SQLite)和 R2(对象存储)替代传统 VPS 数据库,数据可靠性由 Cloudflare 保证
- NodeWarden 在核心功能上与 Bitwarden 保持兼容,同时移除企业级功能(多用户/组织/SSO)以简化架构
- 通过 GitHub Actions + Cloudflare Pages 实现自动化部署,更新代码只需网页操作
- TOTP(时间同步动态口令)通过
TOTP_SECRET环境变量免费支持,无需 Bitwarden 付费会员
Key Quotes
"部署 NodeWarden 之后的效果,就是在无服务器的情况下,也能在手机、电脑上使用 Bitwarden 客户端来保存密码了,支持自动登陆、二次验证之类的功能。" — Appinn
"这个步骤需要在 Cloudflare 中绑定 GitHub 账号,根据页面提示即可。" — NodeWarden 一键部署说明
Key Concepts
- Serverless Computing:NodeWarden 的核心技术范式,代码运行在 Cloudflare Workers 边缘节点而非传统服务器
- Edge Computing:Cloudflare Workers 在全球边缘节点运行,提供低延迟访问
- TOTP:时间同步一次性密码算法,NodeWarden 通过环境变量
TOTP_SECRET免费提供,无需付费会员 - Passkey:WebAuthn 无密码认证标准,NodeWarden 原生支持(Bitwarden 官方需付费会员)
- Self-Hosted Password Manager:自托管密码管理器,NodeWarden 是 Serverless 架构的变体
Key Entities
- NodeWarden:GitHub 项目,将 Bitwarden 部署到 Cloudflare Workers 的开源实现,作者 shuaiplus
- Bitwarden:开源密码管理器,客户端与服务端均开源,NodeWarden 提供 API 兼容实现
- Cloudflare Workers:边缘计算平台,NodeWarden 的运行时环境,基于 V8 隔离的 Serverless 平台
- Cloudflare D1:边缘 SQLite 数据库,NodeWarden 的主数据存储
- Cloudflare R2:S3 兼容对象存储,NodeWarden 用于存储附件
- Cloudflare:提供 Workers/D1/R2 的云平台,构成 NodeWarden 的完整基础设施
- shuaiplus:NodeWarden GitHub 项目作者
- shenwei:本文档原作者(Appinn 作者),已部署 NodeWarden 实例
Connections
- NodeWarden ← implements ← Bitwarden
- NodeWarden ← runs_on ← Cloudflare Workers
- NodeWarden ← uses ← Cloudflare D1
- NodeWarden ← uses ← Cloudflare R2
- NodeWarden ← deploys_via ← GitHub Actions
- Bitwarden ← alternative_to ← 1Password
- Bitwarden ← alternative_to ← LastPass
Contradictions
- 无已知冲突
NodeWarden vs Bitwarden 功能对比
| 能力项 | Bitwarden | NodeWarden | 说明 |
|---|---|---|---|
| 单用户保管库 | ✅ | ✅ | 基于 Cloudflare D1 |
| 文件夹/收藏 | ✅ | ✅ | 常用管理能力可用 |
全量同步 /api/sync |
✅ | ✅ | 已做兼容与性能优化 |
| 附件上传/下载 | ✅ | ✅ | 基于 Cloudflare R2 |
| 导入功能 | ✅ | ✅ | 覆盖常见导入路径 |
| 网站图标代理 | ✅ | ✅ | 通过 /icons/{hostname}/icon.png |
| Passkey、TOTP | ❌ | ✅ | 官方需要会员,NodeWarden 免费 |
| 多用户 | ✅ | ❌ | NodeWarden 定位单用户 |
| 组织/集合/成员权限 | ✅ | ❌ | 没必要实现 |
| 登录 2FA(TOTP/WebAuthn/Duo/Email) | ✅ | ⚠️ 部分支持 | 仅支持 TOTP(通过 TOTP_SECRET) |
| SSO / SCIM / 企业目录 | ✅ | ❌ | 没必要实现 |
| Send | ✅ | ❌ | 基本没人用 |
| 紧急访问 | ✅ | ❌ | 没必要实现 |
| 管理后台/计费订阅 | ✅ | ❌ | 纯免费 |
| 推送通知完整链路 | ✅ | ❌ | 没必要实现 |
部署必要条件
- Cloudflare 账号(必须有一个域名和信用卡)
- GitHub 账号
部署步骤
- Fork NodeWarden GitHub 仓库
- 在 Cloudflare 页面点击"Deploy to Cloudflare"一键部署
- 访问临时地址或绑定自定义域名
- 通过设置页面配置:JWT_SECRET、自动更新、主账号密码、TOTP 二次验证
- 在 Bitwarden 官方客户端选择"自托管",输入服务器 URL 即可登录