Bark私有化部署和使用教程

2022-04-12 Views macOS | Bark | IOS1213字5 min read

Bark是什么?

Bark是一款「手机」和「服务器」、「智能设备」之间的通信软件。类似Server酱
说人话?就是从服务器、路由器等设备上推消息到手机的工具。
相比Server酱,Bark允许私有化部署,所有的数据将只在 你的手机、你的服务器、Apple推送服务器之间传输。
历史消息通过 NotificationServiceExtension 扩展,在收到推送时将推送信息保存在本地,不会经过其他任何设备。
历史记录仅由个人iCloud私有库进行同步。
可以确保你产生的任何通知,将只留在你的设备与你的iCloud中。

客户端 https://github.com/Finb/Bark
服务器端 https://github.com/Finb/go-tools
AppStore https://apps.apple.com/cn/app/id1403753865

部署Bark服务端

Docker

下面的命令使用默认8080端口,如果需要修改请替换8080:8080中前一个8080,改为自己需要的端口号

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

Docker-Compose

mkdir bark && cd bark
curl -sL https://git.io/JvSRl > docker-compose.yaml
docker-compose up -d

手动安装

  1. 根据平台下载可执行文件:
    https://github.com/Finb/bark-server/releases
    或自己编译
    https://github.com/Finb/bark-server

  2. 运行

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

你可能需要

chmod +x bark-server_linux_amd64

请注意 bark-server 默认使用 /data 目录保存数据,请确保 bark-server 有权限读写 /data 目录,或者你可以使用 -data 选项指定一个目录

  1. 反向代理+SSL证书

Bark的简单使用

发送推送

  1. 打开APP,点击右上角➕输入自己刚刚部署的Bark服务端域名或使用Bark自带服务端
  2. 复制测试URL
  3. 修改内容,请求这个URL

可以发 get 或者 post 请求 ,请求成功会立即收到推送

URL 组成: 第一个部分是 key , 之后有三个匹配
/:key/:body
/:key/:title/:body
/:key/:category/:title/:body

title 推送标题 比 body 字号粗一点
body 推送内容 换行请使用换行符 '\n'
category 另外的功能占用的字段,还没开放 忽略就行
post 请求 参数名也是上面这些

复制推送内容

收到推送时下拉推送(或在通知中心左滑查看推送)有一个复制按钮,点击即可复制推送内容。

// 将复制“验证码是9527”
https://api.day.app/yourkey/验证码是9527
// 携带参数 automaticallyCopy=1, 收到推送时,推送内容会自动复制到粘贴板(如发现不能自动复制,可尝试重启一下手机)

// 自动复制 “验证码是9527” 到粘贴板
https://api.day.app/yourkey/验证码是9527?automaticallyCopy=1 
// 携带copy参数, 则上面两种复制操作,将只复制copy参数的值

// 自动复制 “9527” 到粘贴板
https://api.day.app/yourkey/验证码是9527?automaticallyCopy=1&copy=9527

其他参数

url
// 点击推送将跳转到url的地址(发送时,URL参数需要编码)
https://api.day.app/yourkey/百度网址?url=https://www.baidu.com 

isArchive
// 指定是否需要保存推送信息到历史记录,1 为保存,其他值为不保存。
// 如果不指定这个参数,推送信息将按照APP内设置来决定是否保存。
https://api.day.app/yourkey/需要保存的推送?isArchive=1

group
// 指定推送消息分组,可在历史记录中按分组查看推送。
https://api.day.app/yourkey/需要分组的推送?group=groupName

icon (仅 iOS15 或以上支持)
// 指定推送消息图标
https://api.day.app/yourkey/需要自定义图标的推送?icon=http://day.app/assets/images/avatar.jpg

时效性通知
// 设置时效性通知
https://api.day.app/yourkey/时效性通知?level=timeSensitive

// 可选参数值
// active:不设置时的默认值,系统会立即亮屏显示通知。
// timeSensitive:时效性通知,可在专注状态下显示通知。
// passive:仅将通知添加到通知列表,不会亮屏提醒

客户端

IOS

AppStore: https://apps.apple.com/cn/app/id1403753865

Android

  1. 下载安装
  2. 安装GoolgePlayService,因为依赖FCM Push渠道
  3. 须配合ChromeBarkExtension使用
  4. 打开PushLite,点击FetchToken,可以将FCM Token复制到剪贴板
  5. 进入chrome插件配置页面,类型选择Android,然后填入刚才复制的FCM Token,点击Add,即可完成
  6. 点击插件图标,默认配置会将剪贴板内容push移动端
  7. 右键单击图片可以push图片链接
  8. 选中文本然后右键可以push选中内容

Windows

macOS

M系列芯片可以直接前往APP Store搜索Bark下载安装

  • uTools Bark插件 M系列/Intel通用

跨平台的命令行应用

bark-cli

在线定时发送

https://api.ihint.me/bark.html

EOF