自建Bitwarden启用推送通知

2023年9月23日 731点热度 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

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

文章评论