V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
finab
V2EX  ›  分享创造

分享个自用的小工具~ 给你的 iPhone 发自定义推送

  finab ·
Finb · 2018-07-02 11:27:21 +08:00 · 51435 次点击
这是一个创建于 2361 天前的主题,其中的信息可能已经有所发展或是发生改变。
我有些自动提醒只是想看一眼,看完划掉就删了~
邮件或聊天软件做提醒都稍微重了一点,

iPhone 消息推送可靠不丢数据、实时性也比较好,正好合适。
所以这个 APP 就诞生了, 使用简单 http 请求给自己的 iPhone 发推送

自用了几个月,还算稳定没掉过通知,分享出来给有需要的 V 友。免费并提供源码和后端程序

如果你的**数据敏感**,可以在自己的主机上部署后端程序,这样数据只在 你的手机、你的主机、Apple 推送服务器之间传输,非常安全 。App 内点添加私有服务器有文档

使用示例


AppStore 连接
https://itunes.apple.com/cn/app/bark-customed-notifications/id1403753865

App 源码
https://github.com/Finb/Bark
后端源码
https://github.com/Finb/go-tools/blob/master/Bark.go
第 1 条附言  ·  2018-07-02 13:30:27 +08:00
打开 APP 注册得到推送 URL 后 ,可以发 get 或者 post 请求 ,请求成功会立即收到推送

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

title 推送标题 比 body 字号粗一点
body 推送内容
category 另外的功能占用的字段,还没开放 忽略就行
post 请求 参数名也是上面这些
第 2 条附言  ·  2018-07-17 18:10:17 +08:00
第 3 条附言  ·  2018-12-19 11:37:37 +08:00
1.0.4 支持 automaticallyCopy 参数,携带此参数发送推送,推送内容将直接复制到粘贴板

如果是自己部署的 Bark 后端要支持这个功能,需使用最新的服务端程序
https://github.com/Finb/Bark/releases
第 4 条附言  ·  2019-03-01 15:15:57 +08:00

后端支持 Docker

docker run -dt --name bark -p 8999:8080 finab/bark-server:v1.0.0
第 5 条附言  ·  2019-03-01 17:18:05 +08:00

docker 挂载本地目录, 保存 bark.db 文件

docker run -dt --name bark -p 8080:8080 -v `pwd`/bark-data:/data finab/bark-server
第 6 条附言  ·  2020-06-01 09:05:12 +08:00
新增保存历史通知的功能。

使用方法:
在推送 URL 中添加 isArchive 参数。
isArchive = 1 时通知将被保存,为其他值时则不会被保存。

或者在历史消息 - 设置 中打开默认保存

保存在本地的通知消息历史非常安全。
通过 NotificationServiceExtension 扩展,在收到推送时,将推送信息保存在本地,不会经过其他任何设备。
历史记录仅由个人 iCloud 私有库进行同步。
可以确保你产生的任何通知,将只留在你的设备与你的 iCloud 中
218 条回复    2023-09-19 16:10:23 +08:00
1  2  3  
finab
    201
finab  
OP
   2021-02-22 12:19:19 +08:00
@cjqXe2v 我这边测试是正常的
如果你那边确实有这个问题,可以联系 https://github.com/xlvecle/Bark-Chrome-Extension
zololiu
    202
zololiu  
   2021-03-15 00:45:04 +08:00
太难了,我的 8080 被占用了。
zololiu
    203
zololiu  
   2021-03-15 02:03:26 +08:00
谢谢大佬,部署成功。贪心的说一句,若是能推送图片或者文件,那就更王道了!
finab
    204
finab  
OP
   2021-03-15 12:08:55 +08:00
@zololiu 可以推 图片和文件 的 URL 。
不能直接推图片和文件, 苹果推送包有大小限制。
zololiu
    205
zololiu  
   2021-03-17 12:44:59 +08:00 via iPhone
@finab 嗯嗯,现在的已经很棒了,谢谢大佬答疑解惑。
zololiu
    206
zololiu  
   2021-04-07 19:42:54 +08:00
体验了一段时间,感受下来,若是能有网页端的消息内容存储就好了。我想表达的是,若是有一个手机推送出来的消息,可以在网页端同步浏览同送内容,实现双向的,那意义会变得更大。总之,感谢这么棒的工具。
love2328
    207
love2328  
   2021-05-06 21:58:06 +08:00
感觉把安卓也支持上就完美了
AllenHua
    208
AllenHua  
   2021-07-06 13:25:04 +08:00
感谢楼主提供这么棒的工具

但是最近遇到这个问题,不知道是否能解决一下。“431 request header fields too large”
finab
    209
finab  
OP
   2021-07-06 14:00:44 +08:00
@AllenHua 看着像是推送的文本过长,苹果 APNS 推送内容不能过长,建议做个裁剪
AllenHua
    210
AllenHua  
   2021-07-06 15:43:18 +08:00
@finab #209 是的,文本过长,文本太多。但是程序输出日志就是这么多,没有想到什么好的方案。
finab
    211
finab  
OP
   2021-07-06 21:53:00 +08:00
@AllenHua
没办法,只能裁剪了。
要支持长文本肯定是要找个地方先存一下的, 服务端被设计成不保存任何信息,暂时也不打算支持长文本

如果一定要推长文本的话,可以先自己实现。
将长文本存在自己的服务器,暴露一个 URL,然后将 URL 推给 bark
AllenHua
    212
AllenHua  
   2021-07-06 23:20:43 +08:00
@finab #211 谢谢,有这样想过。但是现在还是用 telegram bot 吧,好用是好用,就是路由器要时刻爬墙,哈哈
heziliang
    213
heziliang  
   2021-11-26 17:00:48 +08:00
有意思
magicls
    214
magicls  
   2022-04-08 10:57:54 +08:00
用上了,特地找过来感谢一下作者,有需要 android 客户端方面支持的可以找我。
love2328
    215
love2328  
   2023-04-07 08:25:16 +08:00
大佬 , 每次接收到推送 打开都弹框问 复制内容 ? 这个怎么关的
ee666
    216
ee666  
   2023-09-19 11:50:12 +08:00
op 还在维护吗,安卓有计划上吗
finab
    217
finab  
OP
   2023-09-19 13:02:24 +08:00
@ee666
上次代码更新:1 分钟前

安卓暂时没有这个计划,我这主要是自个用顺便分享,啥时候我主力机换成安卓了再考虑吧
另外好像已经有安卓版类似的工具,例如 gotify pushdeer ,你可以尝试一下
ee666
    218
ee666  
   2023-09-19 16:10:23 +08:00
@finab 好的,感谢大佬提供这么好用的工具
1  2  3  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3198 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 32ms · UTC 12:47 · PVG 20:47 · LAX 04:47 · JFK 07:47
Developed with CodeLauncher
♥ Do have faith in what you're doing.