消息推送软件Bark服务端配置

2,359 阅读3分钟

什么是Bark

最近发现一个iOS端消息推送的软件,名叫Bark。下载软件并注册设备后,它会给出一个URL,如下:

https://api.day.app/{apiKey}/Push/Hello_World

复制URL,用浏览器打开,即可收到推送:标题为“Push”,内容为“Hello_World”,其中,{apiKey}为Bark自动生成的一个字符串,标题、内容均可用户自定义。

利用这个服务,可以实现很多功能,如:

将挪车通知推送URL转换为二维码,然后打印贴在车上,别人扫描二维码,你就知道需要挪车了;

iOS推送简介

苹果消息推送机制广受业界好评。一个想要推送消息给用户,需要先将推送信息提交到苹果推送服务器(APN),服务器按照用户的设置和网络状态来决定是否推送、何时推送给用户。

也就是说,不管App是否在运行,只要你的苹果设备接入网络,就能实现推送消息接收。

Bark的好处在于,用户可以花很少的成本:只需要访问一段URL,就能将消息推送到手机。

私有服务端部署

如果用户要推送的数据较为隐私,可以将Bark服务端部署到自己的服务器,这样,消息流向就变为:发送端→用户服务器→APN→Bark客户端,并且可以确保产生的任何通知,将只留在用户的设备和iCloud中

部署Bark服务方法:

方法一:Docker

Bark的镜像在Docker上可用,要使用Docker运行Bark,只需要输入以下命令:

docker run -dt --name bark -p 8234:8080 -v `pwd`/bark-data:/data finab/bark-server

bark默认8080端口,可以通过端口映射把8234映射到容器内部的8080端口。如需修改,请替换8234:8080中前一个端口号8234,改为自己需要的端口号;

方法二:Docker-Compose

	
mkdir bark-server && cd bark-server


	
curl -sL https://git.io/JvSRl > docker-compose.yaml


	
docker-compose up -d

方法三:手动安装

1、进入下载

https://github.com/Finb/bark-server/releases

2、授予执行权限:

chmod +x bark-server_linux_amd64

3、运行

./bark-server_linux_amd64 -addr 0.0.0.0:8080 -data ./bark-data

4、运行之后,可以通过以下命令测试

curl http://0.0.0.0:8080/ping

如果返回消息是

{"code":200,"message":"pong","timestamp":1631449130}

即表示Bark服务端部署完成。

4、设置反向代理,使用HTTPS域名代理http://0.0.0.0:8080

5、添加服务器

在设备端App点击右上角的+号,添加私有服务器,服务地址填写为(端口号、是否为HTTPS,具体看是否设置代理):

https://{服务器IP地址或域名}:8080

填写好之后,点右上角√符号确认,验证成功后,服务端会自动生成apiKey,示例如下:

https://push.day.app/kd8GK3329sdJKD1kw10o1/{Message}

至此,私有服务部署完毕。

额外功能

除了以上示例的推送只带内容外,此软件还可以推送带标题、推送URL并快速打开、推送自动保存等。

1、推送带标题

http://push.day.app/kd83jf2k39sdJKDJwS4/title/message

2、推送URL

http://push.day.app/kd83jf2k39sdJKDJwS4/Apple?url=https://www.apple.com.cn

3、自动复制消息至剪贴板

http://push.day.app/kd83jf2k39sdJKDJwS4/message?automaticallyCopy=1&copy=test

4、自动保存推送历史记录

http://push.day.app/kd83jf2k39sdJKDJwS4/message?isArchive=1

5、指定推送铃声:

http://push.day.app/kd83jf2k39sdJKDJwS4/message?sound=guitar

6、消息分组

http://push.day.app/kd83jf2k39sdJKDJwS4/message?group=Group01

最后

前段时间研究的物联网开发,结合Bark最大的好处是不需要开发iOS端App即可实现推送功能。

举个例子,我可以在房间安装人体传感器,当我出门后,人体传感器启动,如果外出期间监测到人体,设备发送信息给服务器,我的手机就能收到推送告知有人闯入。

当然也可以实现一些日常便捷功能,如在Windows电脑安装Quicker软件(一个类似苹果快捷指令的软件),然后简单编程实现一个指令:当我在电脑复制一段文字后,按下快捷键,这段文字就被推送到手机,然后手机自动将文字保存至剪贴板,这极大方便了某些场合的工作流程。