logo NodeSeekbeta

【NodeWarden】cloudflare workers版bitwarden服务端,支持一键部署,从此不再需要服务器🎉

憋了好久终于做出来了,纯js实现的bitwarden客户端,可以直接部署在cloudflare workers里。

DFZOKW1gB9KphrEEEowbcz0HCAJnDiwq.webp
长话短说,我这水平半斤八两,写这项目只有两个目的:

  • 给自己用,省钱(bitwarden涨价了,我不开心☹️)
  • 证明纯js可以实现bitwarden服务端,抛砖引玉,期待更优秀的作品

目前已经在Windows、android、浏览器扩展上测试通过,实现基本成功。
如果短时间没有更优秀的作品,希望各位seeker能协同更新本项目,共同打造仅次vaultwarden的第二个bitwarden第三方服务端。

NodeWarden:github.com/shuaiplus/NodeWarden

特性

  • ✅ 完全免费,不需要在服务器上部署,再次感谢大善人!
  • ✅ 完整的密码、笔记、卡片、身份信息管理
  • ✅ 文件夹和收藏功能
  • ✅ 文件附件支持(基于 R2 存储)
  • ✅ 导入/导出功能
  • ✅ 网站图标获取
  • ✅ 端到端加密(服务器无法查看明文)
  • ✅ 兼容常见的 Bitwarden 官方客户端

测试情况:

  • ✅ Windows 客户端
  • ✅ 手机 App(Android / iOS)
  • ✅ 浏览器扩展
  • ⬜ macOS 客户端(未测试)
  • ⬜ Linux 客户端(未测试)

快速开始

一键部署

点击下方按钮部署到 Cloudflare Workers:

Deploy to Cloudflare Workers
部署步骤:

  1. 使用 GitHub 登录并授权
  2. 登录 Cloudflare 账户
  3. 重要:设置 JWT_SECRET 为强随机字符串(推荐使用 openssl rand -hex 32 生成)
  4. KV 存储和 R2 存储桶将自动创建
  5. 点击 Deploy 等待部署完成
  6. 部署完成后,先打开 Cloudflare 给你的 Workers 链接(也就是你的服务地址),在网页上填写信息完成注册。

⚠️ 再次提醒:请务必使用强随机的 JWT_SECRET,使用默认或弱密钥可能导致账户被入侵,后果自负!


有任何bug,请提交Issues,我尽量解决。明天见


对了,这不是正式版,请暂时不要当主力使用

  • 人类对 cloudflare 的开发还不到 1%
    xhj005

  • 绑定,我之前二开了一个用rust/wasm实现的worker版bitwarden,现在个人用的功能基本齐了:
    https://github.com/qaz741wsd856/warden-worker

    用rust好处是能直接抄vaultwarden的代码,坏处是数据穿越js/wasm边界的开销很高,性能反而比纯js实现慢很多 xhj011

    一点建议:

    • 附件可以用KV来存,也是支持流式传输的,这样就不用绑卡了,虽然最大只能25MB
    • 数据建议用D1来存,配合sqlite的json扩展语法,可以直接输入输出json,不需要把CPU时间耗费在序列化/反序列化上
    • 可以直接集成一个vaultwarden的前端,具体方法见我项目的readme和action。

    对了,图标获取可以直接用cf的重定向规则,把请求重定向到其他图标服务,既省worker额度又防刷。vaultwarden的实现里就分本地实现和重定向两种的。

  • 🐂🍺

  • 沙发!!

  • 支持

  • 支持技术贴

  • 给你点了第一个Star了

  • 沙发

  • 🐂🍺

  • 支持,已star

  • 太强了 xhj003

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72291位seeker

🎉欢迎新用户🎉