我们已经通过 Google Adsense 审核!不出意外,在未开启广告拦截器的情况下,应该已经可以看到广告了
如果您对广告位置不满意(如:占据面积大,挡住主要内容等情况),请前往 置顶文章 告知我们!
原理
项目参考开源的 dani-garcia/vaultwarden: Unofficial Bitwarden compatible server written in Rust, formerly known as bitwarden_rs 将Rust源码编译为WASM以支持在Cloudflare Worker上运行。其中Worker负责REST API,D1负责存储加密后的数据
部署
首先确保你安装了Rust,若无可前往: 安装 Rust - Rust 程序设计语言
克隆仓库: afoim/warden-worker: A Bitwarden-compatible server for Cloudflare Workers
创建D1数据库
wrangler d1 create warden-sql
替换 wrangler.jsonc 的数据库ID

初始化数据库
wrangler d1 execute warden-sql --remote --file=sql/schema_full.sql
编译Rust WASM
cargo build --release部署 Worker
wrangler deploy设置白名单邮箱
wrangler secret put ALLOWED_EMAILS
设置JWT(脸滚键盘即可)
wrangler secret put JWT_SECRETwrangler secret put JWT_REFRESH_SECRET
设置2FA加密密钥(32字节Base64编码文本)
wrangler secret put TWO_FACTOR_ENC_KEYPoweshell可以这样生成
[Convert]::ToBase64String((1..32 | ForEach-Object {Get-Random -Minimum 0 -Maximum 256}))
前往控制台绑定域名(若路由需要手动写一条解析到Cloudflare)

使用移动端Bitwarden创建账号(使用白名单邮箱)
接下来,前往网页端( /demo.html 默认使用的是 Vaultwarden的前端,可能会有些Bug),启用2FA: https://cfbw.2x.nz (用另一个TOTP验证器存储)
顺便一提,想要修改邮箱或主密码也可以在网页端进行了

将所有已登录的设备登出后再登入则会被要求TOTP
导入密码库
如果您有旧的密码库,请先前往 设置 - 密码库选项 - 导出 - .json
再登录当前密码库,前往 设置 - 密码库选项 - 导入 - .json

发现错误或想要改进这篇文章?
在 GitHub 上编辑此页文章修订历史 (12 次)
查看变更记录
压缩图片
upgrade: 更新文章发布日期,提高访问量
fix: word
posts: 更新warden-worker部署指南,提供了详细的部署步骤以及迁移步骤
docs: 更新warden-worker文档中的注意事项
feat(评论): 改进Giscus评论区的主题切换功能
posts: warden-worker已支持电脑端浏览器插件,欢迎测试并反馈Bug
posts: 更新Bitwarden部署在Cloudflare Worker的文章 - 新增机密变量的正确设置方式 - 提到该项目目前仅支持手机API,而我们正在尝试用AI补全电脑端API的支持
docs(warden-worker): 更新文档并添加相关图片
post: 修订部分文章
Update warden-worker.md
posts: 添加warden-worker项目的博文,实现BitWarden在Cloudflare Worker上的部署指南