自建iOS消息推送服务Bark

老苏的 DSM6.17 系统恢复之后,发现丢了一些套件,在安装 phpMyAdmin 套件时,显示需要用到 PHP7.4

但是在套件里搜索却只有 PHP7.3

https://archive.synology.cn/download/Package/PHP7.4 下载了最低的 7.4.9-0003

手动安装时居然显示 DSM6.17 并不支持

老苏不想升级 ,于是翻了下以前折腾 wallabag 时的截图

显然 phpMyAdmin 并不是一定要 PHP7.4 才能使用,那不如试试降 phpMyAdmin 的版本吧。下了个 4.9.2-0181

这回显示只需要 PHP5.6,于是又下载了 5.6.20-0023 ,终于搞定了,这下放假可以睡懒觉了

预祝端午安康~


网友 Frank Yang 需要的 iphone 推送方案;很早就有人推荐过,只是老苏是 Android 用户,这次借了台手机折腾了一下;

什么是 Bark?

Bark 是一款 iOS 应用程序,可让您将自定义通知通过简单调用接口即可推送到您的 iPhoneBark 依赖苹果 APNs,不会消耗设备的电量, 基于系统推送服务与推送扩展,APP 本体并不需要运行,及时、稳定、可靠。

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 bark-server ,选择第一个 finab/bark-server,版本选择 latest

本文写作时, latest 版本对应为 v2.1.5

docker 文件夹中,创建一个新文件夹 bark,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/bark/data /data 存放数据

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
8054 8080

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 bark 和 子目录
mkdir -p /volume2/docker/bark/data

# 进入 bark 目录
cd /volume2/docker/bark

# 运行容器
docker run -d \
--restart unless-stopped \
--name bark \
-p 8054:8080 \
-v $(pwd)/data:/data \
finab/bark-server

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3'

services:
bark-server:
image: finab/bark-server
container_name: bark-server
restart: unless-stopped
ports:
- 8054:8080
volumes:
- ./data:/data

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 bark 和 子目录
mkdir -p /volume2/docker/bark/data

# 进入 bark 目录
cd /volume2/docker/bark

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8054/ping ,如果返回 code:200 应该就表示搭建成功了

反向代理

这一步不是必须的,看你的应用场景

老苏的腾讯小主机已经到期,后续默认采用的是 Cloudflared + npm 方式,不了解的话可以去看看之前的文章

文章传送门:

  • 免费的Cloudflared实现外网访问群晖
  • 免费的Cloudflared实现外网访问群晖(续)

只要设置主机就可以了,SSL 不需要设置

iOS

APP Store 里找到 Bark,地址: https://apps.apple.com/cn/app/bark-customed-notifications/id1403753865

打开 APP,默认指向了官方服务器 api.day.app,需要点右上角的 + 号来添加我们前面搭建的私有服务器

APP端填入你的服务器 IP或域名

添加成功之后,要 允许 发消息通知

点中间的注册设备

会显示不同内容的发送格式

1
2
3
4
5
#  推送内容
https://bark.laosu.ml/T4PZSXypARjLfFY6xycY7G/这里改成你自己的推送内容

# 推送标题
https://bark.laosu.ml/T4PZSXypARjLfFY6xycY7G/推送标题/这里改成你自己的推送内容

其中域名后面的一串字符 T4PZSXypARjLfFY6xycY7G 就是用来标识设备的唯一码

接下来你就可以用命令行、API 调试工具或者 chrome插件,来向iphone 发送消息

Chrome

插件下载地址: https://chrome.google.com/webstore/detail/bark/pmlkbdbpglkgbgopghdcmohdcmladeii

安装完成后,点浏览器上的插件图标,会弹出提示

Default Push Content 是指缺省推送的内容,Clipboard是剪贴板中的内容,Current page URL 是当前打开网页的地址

找到下面的 New device push URL

填入前面获取的地址,https://bark.laosu.ml/T4PZSXypARjLfFY6xycY7G/

如果你有多台 iphoneAlias 要填一下,用来区分不同的手机

在网页上选取内容后,右键找到 Push To Device

手机端就会收到发送的消息

多条的话可以展开

参考文档

Finb/bark-server: Backend of Bark
地址:https://github.com/Finb/bark-server

Finb/Bark: Bark is an iOS App which allows you to push custom notifications to your iPhone
地址:https://github.com/Finb/Bark

Bark 使用文档
地址:https://bark.day.app/

Bark服务端部署文档 | Fin
地址:https://day.app/2018/06/bark-server-document/