引言
这篇文章 中简单介绍了 Bark 这个工具的使用方法,但从安全和隐私角度考虑,我们更希望能自己搭建服务端进行消息推送。本文将介绍如何自行部署 Bark 服务端,并启用 Https 安全通信协议。
部署 Bark 服务端并启动
部署 Bark 的服务端还是很简单的,参考 这个教程 中的”手动安装”即可。具体步骤可以参照下文,也可直接跳过本段,直接进入 Https 部署环节。
部署 Bark 服务端
首先在 这里 根据自己服务器的操作系统,下载对应的可执行文件。我的服务器操作系统是Ubuntu 18.04 x64版,所以下载的是 bark-server_linux_amd64
这个版本。
以 Linux 系统为例,通过 XFTP 等 ftp 工具将下载得到的 bark-server_linux_amd64
文件上传到要部署的服务器上,如 /home/ubuntu
中。接下来建议单独创建一个目录,用于存放服务端程序、数据库及日志文件,便于查看和管理。
1 | ubuntu@VM-0-8-ubuntu:~$ mkdir BarkSvr |
启动 Bark 服务端并验证功能
上一步完成后,Bark 的服务端程序便存放好了。但是在 Linux 下需要先增加”执行”权限,然后启动程序开始监听网页请求。下文中的命令里,通过 -d .
参数指定了数据保存目录为当前目录,如果不加这个参数,则数据默认保存在 ./data/
目录下。
1 | ubuntu@VM-0-8-ubuntu:~/BarkSvr$ chmod +x bark-server |
看到 INFO[2019-xx-xx xx:xx:xx] Serving HTTP on 0.0.0.0:8081
这行日志,说明服务端已经启动起来了。接下来可以用以下2个方法验证一下功能是否正常:
另外打开一个终端(Linux 或 macOS),并执行
curl http://{server}:{port}/ping
命令,其中 {server} 和 {port} 分别替换为部署了服务端的服务器 IP 地址和启动时配置的监听端口,本例中执行的命令如下(请自行替换你自己的服务器地址和监听端口):1
2ubuntu@VM-0-8-ubuntu:~$ curl 139.199.198.139:8081/ping
{"code":200,"data":{"version":"1.0.0"},"message":"pong"}打开前一篇文章中介绍的 这个工具 并切换到 GET 模式,按下图填写服务端地址(请自行替换你自己的服务器地址和监听端口)并发出请求:
以上两种方法均可以测试服务端的功能是否正常。如果收到 code 为200且 message 为”pong”的返回结果,说明服务端工作正常。如果是使用网页工具发送的测试请求,则通过网页的”Response Text”栏可以看到返回结果。
开启 Bark 服务端后台运行并绑定设备
开启 Bark 服务端后台运行
上文直接运行的方式,会使得服务端运行在 Shell 前台,当终端断开连接时,程序就会被关闭。所以最好把服务端程序启动为后台程序,避免不小心关了终端导致服务中断。在终端中执行以下命令:
1 | ubuntu@VM-0-8-ubuntu:~$ cd /home/ubuntu/BarkSvr |
此时服务端程序将会运行在后台,所有的程序日志都会写入到当前目录的 nohup.out
文件中,如果遇到问题,可以查看该文件获得运行日志分析问题。
绑定要推送的设备
打开 Bark 手机端,如果是第一次打开,参照 这篇文章 进行应用初始化。初始化完成后,点击右上角的”+”号,打开”添加私有服务器”界面,并按图中内容填写(自行替换你自己的服务器地址和监听端口),然后点击右上角的”✅”按钮确认。如果服务器地址或监听端口填写错误,确认时界面下方会有错误提示,请检查填写内容是否正确。
如果服务器地址和端口填写正确,程序将会自动返回到首页,并显示目前支持的几种推送格式,其中就包含本设备的设备识别码,如本机的识别码为 BAL9bUowzEqFNryvgPnEnS
。
接下来可以参考 这篇文章 测试推送服务,比如可以直接用浏览器访问 http://139.199.198.139:8081/BAL9bUowzEqFNryvgPnEnS/测试标题/测试推送文本
并在手机上查看是否收到相应推送。
配置 HTTPS 协议
To be continued …