[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-74919":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":43,"readmeContent":44,"aiSummary":45,"trendingCount":16,"starSnapshotCount":16,"syncStatus":46,"lastSyncTime":47,"discoverSource":48},74919,"nodewarden","shuaiplus\u002Fnodewarden","shuaiplus","Bitwarden-compatible server running on Cloudflare Workers","https:\u002F\u002Fnodewarden.app",null,"TypeScript",2618,2686,5,9,0,322,423,688,966,112,"Other",false,"main",true,[27,28,29,30,31,32,5,33,34,35,36,37,38,39,40,41,42],"bitwarden","cloudflare","cloudflare-d1","cloudflare-r2","cloudflare-workers","end-to-end-encryption","password","password-manager","preact","self-hosted","serverless","typescript","vaultwarden","web-vault","workers","zero-knowledge","2026-06-12 04:01:16","\u003Cp align=\"center\">\n  \u003Cimg src=\".\u002FNodeWarden.svg\" alt=\"NodeWarden Logo\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  运行在 Cloudflare Workers 上的 Bitwarden 兼容服务端\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fworkers.cloudflare.com\u002F\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPowered%20by-Cloudflare-F38020?logo=cloudflare&logoColor=white\" alt=\"Powered by Cloudflare\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\".\u002FLICENSE\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-LGPL--3.0-2ea44f\" alt=\"License: LGPL-3.0\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshuaiplus\u002FNodeWarden\u002Freleases\u002Flatest\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fshuaiplus\u002FNodeWarden?display_name=tag\" alt=\"Latest Release\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fshuaiplus\u002FNodeWarden\u002Factions\u002Fworkflows\u002Fsync-upstream.yml\">\u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fshuaiplus\u002FNodeWarden\u002Factions\u002Fworkflows\u002Fsync-upstream.yml\u002Fbadge.svg\" alt=\"Sync Upstream\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002FNodeWarden_News\">Telegram 频道\u003C\u002Fa> |\n  \u003Ca href=\"https:\u002F\u002Ft.me\u002FNodeWarden_Official\">Telegram 群组\u003C\u002Fa>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\".\u002FREADME_EN.md\">English\u003C\u002Fa> |\n  \u003Ca href=\".\u002FCONTRIBUTING.md\">贡献指南\u003C\u002Fa>\n\u003C\u002Fp>\n\n> **免责声明**  \n> 本项目仅供学习与交流使用，请定期备份你的密码库。  \n> 本项目与 Bitwarden 官方无关，请不要向 Bitwarden 官方反馈 NodeWarden 的问题。\n\n---\n\n## 与 Bitwarden 官方服务端能力对比\n\n| 能力 | Bitwarden | NodeWarden | 说明 |\n|---|---|---|---|\n| 网页密码库 | ✅ | ✅ | **原创Web Vault界面** |\n| 全量同步 `\u002Fapi\u002Fsync` | ✅ | ✅ | 已针对官方客户端做兼容优化 |\n| 附件上传 \u002F 下载 | ✅ | ✅ | Cloudflare R2 或 KV |\n| Send | ✅ | ✅ | 支持文本与文件 Send |\n| 导入 \u002F 导出 | ✅ | ✅ | 支持 Bitwarden JSON \u002F CSV \u002F **ZIP 导入（包括附件）** |\n| **云端备份中心** | ❌ | ✅ | **支持 WebDAV \u002F S3 定时备份** |\n| 密码提示（网页端） | ⚠️ 有限 | ✅ | **无需发送邮件** |\n| TOTP \u002F Steam TOTP | ✅ | ✅ | 含 `steam:\u002F\u002F` 支持 |\n| 多用户 | ✅ | ✅ | 支持邀请码注册 |\n| 组织 \u002F 集合 \u002F 成员权限 | ✅ | ❌ | 未实现 |\n| 登录 2FA | ✅ | ⚠️ 部分支持 | 当前仅支持用户级 TOTP |\n| SSO \u002F SCIM \u002F 企业目录 | ✅ | ❌ | 未实现 |\n\n---\n\n## 已测试客户端\n\n- ✅ Windows 桌面端\n- ✅ 手机 App\n- ✅ 浏览器扩展\n- ✅ Linux 桌面端\n- ⚠️ macOS 桌面端尚未完整验证\n\n---\n\n## 可视化快速部署\n\n1. Fork NodeWarden 仓库到自己的 GitHub 账号\n2. 进入 [Cloudflare Workers & Pages](https:\u002F\u002Fdash.cloudflare.com\u002F?to=\u002F:account\u002Fworkers-and-pages\u002Fcreate)\n3. 选择 Continue with GitHub 并选择你的仓库\n4. 构建命令填 `npm run build`，部署命令填 `npm run deploy`\n- 如果你打算用 KV 模式，把部署命令改成 `npm run deploy:kv`\n5. 等部署完成后，打开生成的 Workers 域名\n\n- Workers 默认域名在部分网络环境不可直连。如需自定义域名，到 [Workers 设置](https:\u002F\u002Fdash.cloudflare.com\u002F?to=\u002F:account\u002Fworkers\u002Fservices\u002Fview\u002Fnodewarden\u002Fproduction\u002Fsettings)里添加。\n\n- 页面提示缺少 `JWT_SECRET` 时，到 Workers 设置里添加 Secret。正式环境至少使用 32 个字符以上的随机字符串，不要使用临时值或示例值。\n\n- 这套流程里，用户实际做的是把代码交给 Cloudflare 构建并部署。代码里的 `wrangler.toml` 或 `wrangler.kv.toml` 决定绑定名，Worker 第一次处理请求时会自动初始化 D1 schema，不需要用户上传 SQL。\n\n\n> [!TIP] \n> 默认R2与可选KV的区别：\n>   | 储存 | 是否需绑卡 | 单个附件\u002FSend文件上限 | 免费额度 |\n>   |---|---|---|---|\n>   | R2 | 需要 | 100 MB（软限制可更改） | 10 GB |\n>   | KV | 不需要 | 25 MiB（Cloudflare限制） | 1 GB |\n\n\n## 更新方法：\n- 手动：打开你 Fork 的 GitHub 仓库，看到顶部同步提示后，点击 `Sync fork` ➜ `Update branch`\n- 自动：进入你的 Fork 仓库 ➜ `Actions` ➜ `Sync upstream` ➜ `Enable workflow`，会在每天凌晨 3 点自动同步上游。\n\n\n\n## CLI 部署\n\n```powershell\ngit clone https:\u002F\u002Fgithub.com\u002Fshuaiplus\u002FNodeWarden.git\ncd NodeWarden\n\nnpm install\nnpx wrangler login\n\n# 默认：R2 模式\nnpm run deploy\n\n# 可选：KV 模式\nnpm run deploy:kv\n\n# 本地开发\nnpm run dev\nnpm run dev:kv\n```\n\n---\n\n## 云端备份说明\n\n- 远程备份支持 **WebDAV** 与 **E3**\n- 勾选“包含附件”后：\n  - ZIP 内仍只包含 `db.json` 与 `manifest.json`\n  - 真实附件单独存放在 `attachments\u002F`\n  - 后续备份会按稳定 blob 名复用已有附件，不会每次全量重传\n- 远程还原时：\n  - 会从 `attachments\u002F` 目录按需读取附件\n  - 缺失的附件会被安全跳过\n  - 被跳过的附件不会在恢复后的数据库中留下脏记录\n\n---\n\n## 导入 \u002F 导出\n\n当前支持的导入来源包括：\n\n- Bitwarden JSON\n- Bitwarden CSV\n- Bitwarden 密码库 + 附件 ZIP\n- NodeWarden JSON\n- 网页导入器里可见的多种浏览器 \u002F 密码管理器格式\n\n当前支持的导出方式包括：\n\n- Bitwarden JSON\n- Bitwarden 加密 JSON\n- 带附件的 ZIP 导出\n- NodeWarden JSON 系列\n- 备份中心中的实例级完整手动导出\n\n---\n\n\n## 开源协议\n\nLGPL-3.0 License\n\n---\n\n## 致谢\n\n- [Bitwarden](https:\u002F\u002Fbitwarden.com\u002F) - 原始设计与客户端\n- [Vaultwarden](https:\u002F\u002Fgithub.com\u002Fdani-garcia\u002Fvaultwarden) - 服务端实现参考\n- [Cloudflare Workers](https:\u002F\u002Fworkers.cloudflare.com\u002F) - 无服务器平台\n\n---\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=shuaiplus\u002FNodeWarden&type=timeline&legend=top-left)](https:\u002F\u002Fwww.star-history.com\u002F#shuaiplus\u002FNodeWarden&type=timeline&legend=top-left)\n","NodeWarden 是一个运行在 Cloudflare Workers 上的 Bitwarden 兼容服务端，旨在为用户提供一个自托管的密码管理解决方案。它利用了 TypeScript 编写，并且支持全量同步、附件上传\u002F下载（通过 Cloudflare R2 或 KV）、Send 功能以及多种格式的数据导入导出等核心功能。此外，NodeWarden 还提供了云端备份中心功能，允许用户通过 WebDAV 或 S3 定时备份其数据。该项目非常适合那些希望拥有对自己密码库完全控制权同时又能够享受 Bitwarden 生态系统优势的个人或小型团队使用。",2,"2026-06-11 03:51:26","high_star"]