Files
nexus/Technical/Home Office/🟠NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers,彻底告别服务器.md
2026-03-23 20:57:45 +08:00

120 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器
source: https://www.appinn.com/nodewarden/
author:
published: 2026-02-22
created: 2026-02-27
description: 部署 NodeWarden 之后的效果,就是在无服务器的情况下,也能在手机、电脑上使用 Bitwarden 客户端来保存密码了,支持自动登陆、二次验证之类的功能。
tags:
- clippings
---
Bitwarden 是少数客户端与服务器端都开源的密码管理系统,支持完整自托管部署。@ [Appinn](https://www.appinn.com/nodewarden/)
但有人更进一步:直接把服务器端运行在 Cloudflare Workers 上——也就是说,你连 VPS 都可以省了。
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 1](https://www.appinn.com/wp-content/uploads/2026/02/cover-1771765613977-1.jpg)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 1
部署 NodeWarden 之后的效果,就是在无服务器的情况下,也能在手机、电脑上使用 Bitwarden 客户端来保存密码了,支持自动登陆、二次验证之类的功能。
## NodeWarden 与 Bitwarden 区别
| 能力项 | Bitwarden | NodeWarden | 说明 |
| --- | --- | --- | --- |
| 单用户保管库(登录/笔记/卡片/身份) | ✅ | ✅ | 基于Cloudflare D1 |
| 文件夹 / 收藏 | ✅ | ✅ | 常用管理能力可用 |
| 全量同步 `/api/sync` | ✅ | ✅ | 已做兼容与性能优化 |
| 附件上传/下载 | ✅ | ✅ | 基于 Cloudflare R2 |
| 导入功能 | ✅ | ✅ | 覆盖常见导入路径 |
| 网站图标代理 | ✅ | ✅ | 通过 `/icons/{hostname}/icon.png` |
| passkey、TOTP | ❌ | ✅ | 官方需要会员,我们的不需要 |
| 多用户 | ✅ | ❌ | NodeWarden 定位单用户 |
| 组织/集合/成员权限 | ✅ | ❌ | 没必要实现 |
| 登录 2FATOTP/WebAuthn/Duo/Email | ✅ | ⚠️ 部分支持 | 仅支持 TOTP通过 `TOTP_SECRET` |
| SSO / SCIM / 企业目录 | ✅ | ❌ | 没必要实现 |
| Send | ✅ | ❌ | 基本没人用 |
| 紧急访问 | ✅ | ❌ | 没必要实现 |
| 管理后台 / 计费订阅 | ✅ | ❌ | 纯免费 |
| 推送通知完整链路 | ✅ | ❌ | 没必要实现 |
## 必要条件
1. 你需要有一个 Cloudflare 账号(必须有一个域名和信用卡)
2. 一个 GitHub 账号
## 具体部署步骤
### fork
- GitHub [https://github.com/shuaiplus/NodeWarden](https://github.com/shuaiplus/NodeWarden)
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 2](https://www.appinn.com/wp-content/uploads/2026/02/Screenshot-2026-02-22-13.31.48@2x.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 2
### 一键部署
在你自己的 GitHub 页面上,有一个按钮:
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 3](https://www.appinn.com/wp-content/uploads/2026/02/Screenshot-2026-02-22-13.33.59@2x.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 3
这个步骤需要在 Cloudflare 中绑定 GitHub 账号,根据页面提示即可。
### 设置 NodeWarden
部署成功之后Cloudflare 会提供一个临时地址,类似 1nodewarden.apipnn.workers.dev ,用浏览器打开它,如果打不开,就绑定一个你自己的二级域名。
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 4](https://www.appinn.com/wp-content/uploads/2026/02/Screenshot-2026-02-22-13.16.13@2x.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 4
根据页面提示,一步一步进行即可。
这个步骤主要有:
1. 设置 JWT\_SECRET
2. 设置自动更新 GitHub
3. 设置主账号与密码
4. 设置启用主账号的二次验证
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 5](https://www.appinn.com/wp-content/uploads/2026/02/Screenshot-2026-02-22-13.19.12@2x.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 5
最后一步成功之后,还能选择彻底隐藏这个设置页面:
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 6](https://www.appinn.com/wp-content/uploads/2026/02/Screenshot-2026-02-22-13.21.04@2x.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 6
设置完成。
## 在客户端登录
打开你的 Bitwarden 官方客户端,在登录的地方选择自托管,并输入 **服务器 URL**
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 7](https://www.appinn.com/wp-content/uploads/2026/02/IMG_1461.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 7
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 8](https://www.appinn.com/wp-content/uploads/2026/02/%E6%88%AA%E5%B1%8F-2026-02-22-21.44.16.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 8
之后,在使用刚刚设置页面设置的用户名和密码(如果设置了二次验证,还会要求输入验证码),就可以正常登录啦:
![NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 9](https://www.appinn.com/wp-content/uploads/2026/02/%E6%88%AA%E5%B1%8F-2026-02-22-21.48.13.avif)
NodeWarden - 把 Bitwarden 搬上 Cloudflare Workers彻底告别服务器 9
趁假期最后一天,快去试试吧。
---
原文https://www.appinn.com/nodewarden/
## 我的NodeWarden
https://nodewarden.ishenwei.online/
![[IMG-20260228191730714.png]]