惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
Darknet – Hacking Tools, Hacker News & Cyber Security
V
Vulnerabilities – Threatpost
Cloudbric
Cloudbric
G
GRAHAM CLULEY
S
Securelist
Schneier on Security
Schneier on Security
Help Net Security
Help Net Security
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Project Zero
Project Zero
Spread Privacy
Spread Privacy
P
Privacy International News Feed
C
Cyber Attacks, Cyber Crime and Cyber Security
Cisco Talos Blog
Cisco Talos Blog
T
Tailwind CSS Blog
博客园_首页
有赞技术团队
有赞技术团队
Simon Willison's Weblog
Simon Willison's Weblog
Stack Overflow Blog
Stack Overflow Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Latest news
Latest news
T
Tor Project blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Attack and Defense Labs
Attack and Defense Labs
www.infosecurity-magazine.com
www.infosecurity-magazine.com
O
OpenAI News
J
Java Code Geeks
T
Tenable Blog
K
Kaspersky official blog
AWS News Blog
AWS News Blog
S
Security @ Cisco Blogs
The GitHub Blog
The GitHub Blog
T
Threatpost
月光博客
月光博客
H
Heimdal Security Blog
Security Latest
Security Latest
The Hacker News
The Hacker News
Y
Y Combinator Blog
A
Arctic Wolf
Apple Machine Learning Research
Apple Machine Learning Research
C
Cisco Blogs
美团技术团队
Microsoft Security Blog
Microsoft Security Blog
Hugging Face - Blog
Hugging Face - Blog
T
The Blog of Author Tim Ferriss
C
CERT Recently Published Vulnerability Notes
D
Docker
Google Online Security Blog
Google Online Security Blog
D
DataBreaches.Net
V
Visual Studio Blog
H
Help Net Security

思有云 - IOIOX - 运维部署

甲骨文云 Oracle Cloud 服务器防回收保活 docker 命令 - 思有云 甲骨文云 Oracle Cloud 引导卷扩展和块存储卷挂载 - 思有云 甲骨文云 Oracle Cloud 解决 ARM 服务器安装军哥 LNMP 环境的几个问题 - 思有云 PostgreSql 14 主从负载均衡部署记录 - 思有云 drone ci 工作流语法变量高级使用教程 - 思有云 部署 MinIO 通用 S3 协议对象存储服务当网盘和图床使用 - 思有云 分享三种常用的 drone 工作流 CI 配置 - 思有云 Docker 安装 Gitea + Drone 开源代码仓库及 CI/CD 教程 - 思有云 Docker Compose 部署监控系统 Prometheus + Grafana + Node Exporter + Cadvisor - 思有云
Bark 推送服务的部署和使用小技巧 - 思有云 - IOIOX
博主: Stille · 2022-01-29 · via 思有云 - IOIOX - 运维部署

前言

Bark 是一款 iOS 端的推送服务,通过部署一个 Server 服务端,可以通过浏览器,脚本,以及各种程序里来给 iOS 设备发送推送通知。

这个项目其实已经出来有好几年了,只是最近在优化一些运维管理项目时才接触和使用,在使用了几个月后还是打算分享下部分小技巧。

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.


推送流程简单说明

首先需要一个服务端,本文会介绍如何部署。然后 iOS 设备在 App Store 安装Bark,获取到该设备的唯一key,通过浏览器、curl 命令或者在各种 shell python 脚本里来配置推送内容。触发后,服务端接受到推送,会请求苹果的APNs向你的 iOS 设备发送推送通知。

免费的推送服务器

https://bark.ioiox.com

需要注意的是:所有key内容都会记录到服务器日志中,请不要使用免费服务器来推送机密或私有信息也请不要滥用。你可以继续参照下文部署自己的服务端。

Bark Server

使用 docker 来部署非常简单,官方镜像支持 X86 和 ARM 架构。

docker

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

根据情况自行修改端口映射和数据目录的挂载。

docker compose

version: '3.8'
services:
  bark-server:
    image: finab/bark-server
    container_name: bark-server
    restart: always
    volumes:
      - ./data:/data
    ports:
      - "8080:8080"

配置域名 (可选)

部署完毕后http://IP:8080就是 bark 的后端服务地址,可以直接使用,也可以参考以下 nginx conf 来配置域名和 HTTPS。

注意修改域名,证书路径和端口。

upstream bark {
    server 127.0.0.1:8080;
}

server {
    listen 80;
    server_name  bark.ioiox.com;
    return 301 https://bark.ioiox.com$request_uri;
}

server {
    listen 443 ssl;
    server_name  bark.ioiox.com;
    gzip on;

    ssl_certificate /usr/local/nginx/conf/ssl/ioiox.cer;
    ssl_certificate_key /usr/local/nginx/conf/ssl/ioiox.key;
    ssl_trusted_certificate /usr/local/nginx/conf/ssl/ioiox.cer;

    location / {
        proxy_redirect off;
        proxy_pass http://bark;

        proxy_set_header  Host                $http_host;
        proxy_set_header  X-Real-IP           $remote_addr;
        proxy_set_header  X-Forwarded-Ssl     on;
        proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto   $scheme;
        proxy_set_header  X-Frame-Options     SAMEORIGIN;

        client_max_body_size        100m;
        client_body_buffer_size     128k;
    }

    access_log /home/wwwlogs/bark.ioiox.com.access.log  main;
    error_log  /home/wwwlogs/bark.ioiox.com.error.log  warn;
}

常规使用

客户端

iOS 设备直接在 App Store 下载bark,打开后添加 bark 后端服务器地址。(实际上不添加也不影响使用,只是添加服务器端可以方便的在 app 里查看到各种推送地址方便复制使用。)同时也会看到本设备的一串key,请不要随意泄露此key,以免被别人滥用推送垃圾通知,如果泄露也可以通过删除 app 重新安装来更新。

bark 的常规命令

其实 app 内和官方文档已经很好的介绍了如何使用,最简单的例子如下:
浏览器中打开

https://bark.ioiox.com/your_key/标题/内容

curl命令(可以用于 shell python 脚本中)

curl https://bark.ioiox.com/your_key/标题/内容


还可以配置分组,分组的意思是在 iOS 端里的历史记录中可以根据分组来查看各种通知。

https://bark.ioiox.com/your_key/标题/内容?group=IOIOX



更多关于自定义 icon、铃声、自动复制、自动保存、时效性、角标等等功能可以直接查看 iOS 端说明。

高级用法

常规在浏览器或者命令行推送对文字的空格,换行都是需要进行 url-encoder 才能识别,以下是一些我在使用中用到过的示例,大家可以直接拿去使用。

换行

换行符为%0a注意标题是不支持换行的

https://bark.ioiox.com/your_key/标题/内容%0a换行

https://bark.ioiox.com/your_key/网站服务通知/网站:www.ioiox.com%0a状态:运行正常

空格

空格符为%20,标题也是可以使用空格符
如果是在浏览器里发送推送,可以直接在内容里使用空格,浏览器会自动转换。

https://bark.ioiox.com/your_key/标题/内容 空格

如果在命令行里则需要使用空格符

https://bark.ioiox.com/your_key/标题/内容%20空格

其他需要转译的字符

例如/符号也是需要进行 url-encoder 获得%2F

https://bark.ioiox.com/your_key/GitHub/stilleshan%2Fdockerfiles


配合换行和空格

https://bark.ioiox.com/your_key/GitHub%20Action/仓库:%20stilleshan%2Fdockerfiles%0a状态:%20Workflow%20工作流成功

icon 和 group 等多个叠加

正常情况下 icon 配置,icon 图标会缓存到 iOS 设备中。

https://bark.ioiox.com/your_key/标题/内容?icon=https://www.ioiox.com/avatar.jpg

如果同时还需要配置 group 等,则需要使用&来拼接。

https://bark.ioiox.com/your_key/标题/内容?icon=https://www.ioiox.com/avatar.jpg&group=IOIOX

基本上以上一些小技巧应该能完全满足大部分的需求了。当然 bark 还支持 Jason 格式的请求,相信会 Jason 的程序员们应该不需要我来教了,直接查看文档即可。


结语

再次感谢作者Finb开发的这么好用的工具,可以加入他的 TG 群组讨论和咨询。


晚高峰稳定 4K 的 IPLC 机场 解锁各流媒体 支持 ChatGPT. 晚高峰稳定 4K 的 IPLC 机场 解锁各流媒体 支持 ChatGPT. RedteaGO - 最划算的大陆漫游 eSim 流量卡,原生境外 IP,注册就送 3 刀。
RedteaGO - 最划算的大陆漫游 eSim 流量卡,原生境外 IP,注册就送 3 刀。

赞赏作者

如果喜欢我的文章,觉得对你有帮助,请随意赞赏!