还在为记忆众多密码烦恼?无需购买服务器,即可免费搭建一个属于自己的密码管理器。通过结合 Cloudflare Workers 和 D1 数据库,完全可以部署一个兼容 Bitwarden 的密码库。这不仅保障了数据私密性,还实现了零成本维护,是追求数字安全的理想选择。
智能速览
利用Cloudflare免费服务,实现密码库零成本部署。
通过GitHub Actions自动化构建,简化部署流程。
数据存储于个人D1数据库,确保隐私完全自主。
兼容Bitwarden客户端,跨平台同步密码无障碍。
整个过程无需购买服务器,新手也能轻松上手。
精华内容
将 Bitwarden 部署在 Cloudflare Worker 上,听起来复杂,实则遵循一套清晰的流程。下面将分解关键步骤,让你也能轻松掌握这项实用技能。
前期准备
部署的第一步是获取 Cloudflare 的关键凭证。首先,在 Cloudflare 仪表板中创建一个具有“编辑 Cloudflare Workers”权限的 API 令牌,并将其安全保存。接着,在任意 Cloudflare 页面 URL 中找到的一串数字即是 Account ID。最后,创建一个新的 D1 数据库,并记录下其数据库 ID。这三项信息是后续连接服务的基础。
数据库创建完成后,需要手动初始化表结构。在项目仓库中找到 `circle` 文件夹内的 SQL 文件,将其内容复制到 D1 数据库的控制台中分块执行。成功运行后,数据库中将创建三个必需的表,为存储密码数据做好准备。
自动化构建
为了避免复杂的本地构建过程,项目利用 GitHub Actions 实现自动化部署。首先,将原项目 Fork 到自己的 GitHub 仓库。随后,进入仓库的 Settings > Secrets and variables > Actions,添加三个 Repository Secret。
这三个密钥分别是:`CLOUDFLARE_ACCOUNT_ID`、`CLOUDFLARE_API_TOKEN` 和 `D1_DATABASE_ID`。将上一步获取的对应信息粘贴进去。配置完成后,手动触发 Actions 页面的 Build workflow。GitHub 将自动下载依赖、构建项目并将其部署到你的 Cloudflare Workers 账户下,整个过程无需本地编译环境。
变量与密钥
项目构建完成后,需要在 Cloudflare Workers 中配置环境变量才能正常运行。回到 Cloudflare 仪表板的 Workers & Pages 设置页面,添加两个环境变量。第一个是 `ADMIN_EMAIL`,其值将作为创建账户的唯一许可邮箱,后续创建账户时必须使用此邮箱。
第二个变量是 `JWT_SECRET`,这是一个用于身份验证的随机长字符串,必须保证其复杂性和私密性。可以使用在线工具生成一个高强度的随机字符串作为其值。配置完成后,保存并重新部署 Worker,服务端设置即告完成。
客户端接入
服务端部署就绪后,即可在任意设备上通过 Bitwarden 客户端接入。由于 `workers.dev` 域名在国内可能无法访问,建议绑定一个自定义域名到该 Worker 服务。打开客户端,在登录界面选择“自托管”,然后服务器 URL 填写你自定义的域名(如 `warden.yourdomain.com`)。
创建账户时,邮箱地址必须与之前设置的 `ADMIN_EMAIL` 完全一致。主密码是整个密码库的钥匙,务必设置一个高强度的密码。完成账户创建后,即可登录并开始使用,密码数据将安全地同步到你自建的 D1 数据库中。
通过 Cloudflare 的免费服务,实现了一个功能完备且成本为零的自托管密码库方案,极大地降低了个人数据管理的门槛。这不仅是对个人隐私的有力保障,也展现了边缘计算应用的更多可能性。你是否也考虑过用这种方式来管理自己的数字资产?
关键评论
有开发者对项目进行了二次开发,解决了原版中浏览器插件不显示删除按钮、无法添加新条目等问题。
部分用户反映该方案每次使用都需要输入主密码,缺乏生物识别等快捷解锁方式,便利性有待提升。
有用户指出,Bitwarden 官方本身就提供功能完善的免费版本,也是一个无需付费的选择。
用户调侃时点出了自托管密码库的三个安全关键:服务器地址、端口和主密码。