自建 Bitwarden 启用推送通知

2023 年 9 月 23 日 1640 点热度 0 人点赞 0 条评论

从官方发布页面上了解到,自 Vaultwarden 1.29.0 版本开始,已支持启用 WebSocket 通知
(详见:https://github.com/dani-garcia/vaultwarden/wiki/Enabling-WebSocket-notifications
WebSocket 通知用于将发生的一些相关事件通告给浏览器、 Bitwarden 的桌面和浏览器扩展客户端,例如密码数据库中的条目被修改了或删除了。在接收到通知后,客户端可以采取适当的操作,例如刷新修改的条目,或从其本地高速缓存中移除已删除的条目。在此通知方案中,Bitwarden 客户端与 Bitwarden 服务器 (在本例中为 Vaultwarden) 建立持久的 WebSocket 连接。每当服务器有要报告的事件时,它都会通过此持久连接将其发送给客户端。

WebSocket 通知并不适用于移动 (Android/iOS)Bitwarden 客户端,这些客户端使用的是原生推送通知服务 (Android 为 FCM 、 iOS 为 APNs) 。这些都必须使用 Bitwarden 云服务的推送凭据进行单独配置,该服务从 1.29.0 版开始也可用。

(上面这段为机翻内容,如有不适,请跳转至原文阅读) 。

即该版本以后,如果启用 ws,将支持数据实时同步,且各个客户端数据也不用依赖手工或定时同步去刷新数据了,

但是只启用 ws 还是不够的,如果移动端要使用,得借助Bitwarden 官方提供的推送服务.

其实早在 21 年的时候我部署完不久,还专门写了篇文章记录了下安装步骤,所以本文就再不多做赘述了,只是简单说下关键步骤.

https://vv1234.cn/archives/606.html

按前面提到一个一个来,先启用 WebSocket

很简单,如果你对外是 Nginx 提供服务的

原来的反向代理配置文件中额外增加

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;

只有带上 Upgrade 、 Connection 请求头的,反向代理服务转发到你后端时,才可以完成协议的升级或切换

示例 :

proxy_pass http://127.0.0.1:8333;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

proxy_connect_timeout 777;
proxy_send_timeout 777;
proxy_read_timeout 777;
send_timeout 777;

 

移动端推送的话,需要先到 https://bitwarden.com/host/?ref=vv1234.cn 申请注册安装 ID 跟 key,

我们私服才可以配置使用官方的 Push 服务.

输入你的邮箱,推荐使用 Gmail,避免收不到邮件,然后选择数据存储位置 (如选用不同的数据中心美国/欧盟,则 Push URI 也需要做相应调整,如 https://push.bitwarden.com or https://push.bitwarden.eu)

提交之后,页面会出现 INSTALLATION ID,INSTALLATION KEY 信息,务必将该信息妥善保存.

然后在使用 Docker 部署安装的时候,我们加到配置的环境变量中即可,配置如下:

- PUSH_ENABLED=true
- PUSH_INSTALLATION_ID=
- PUSH_INSTALLATION_KEY=
- PUSH_RELAY_BASE_URI=https://push.bitwarden.com

如果移动端无法正常同步,可尝试重新安装应用程序并重新登录你的私服 ,以便推送通知服务正常注册并运行。
好了,大概就这些了,我也说完了,懒得折腾可直接使用我的私服~

Gcod

人生若只如初见,何事秋风悲画扇

文章评论