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

再分享一下自用的小工具 Bark ,给你的 iPhone 发自定义推送

  •  
  •   finab · 236 天前 · 3884 次点击
    这是一个创建于 236 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前有发过一次
    https://www.v2ex.com/t/467407
    两年来收到很多反馈想加个历史记录,这次总算加了。

    之前觉得麻烦,最近发现依赖 Github 编程工作量很少,大部分工作都有非常优秀的大佬帮你做了, 就顺手实现了。
    软件完全免费,完整开源。APP 与源码都可以随意使用,V 站的朋友们有需要的自取即可。

    简单介绍下 Bark
    Bark 提供一个 http 接口,简单调用即可给自己的 iPhone 发送推送。

    简单说下优点

    1. 稳定
      使用苹果 APNS,我自用以来没掉过通知

    2. 及时
      一般 1 秒左右就能收到推送

    3. 隐私安全
      服务端可以选择自行部署 /编译 /实现,数据将在 你的服务器-苹果 APNS-你的设备 之间传输,
      确保任何推送信息都不会被泄漏。
      通知历史记录是通过 NotificationServiceExtension 扩展,在收到推送时将推送信息保存在本地,再由个人 iCloud 同步,你的推送将只保留在你的设备与你的 iCloud 中。

    使用示例

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

    源码
    https://github.com/Finb/Bark
    https://github.com/Finb/bark-server

    使用教程
    https://github.com/Finb/Bark/blob/master/README.md

    47 条回复    2020-10-09 15:51:14 +08:00
    mritd
        1
    mritd   236 天前 via iPhone
    66666 这两天看来是比较闲🤔
    finab
        2
    finab   236 天前   ❤️ 1
    @mritd 我可是用的周末时间!
    tonyaiken
        3
    tonyaiken   236 天前
    我是用 Telegram webhook 发到 Telegram 群聊
    keventseng
        4
    keventseng   236 天前   ❤️ 1
    终于有历史记录
    erlking
        5
    erlking   236 天前
    ifttt webhook 不香吗
    likaci
        6
    likaci   236 天前
    一直在用, 谢谢 lz
    star7th
        7
    star7th   236 天前
    我一直都习惯用邮件收通知,所以写了个类似工具开放出去 www.v2ex.com/t/651215 不过看来用邮箱来做常用通讯手段的人还是少。
    liuzhiyong
        8
    liuzhiyong   236 天前 via Android
    真羡慕那些会做手机 App 的人,这方面我就会撸 Web,JS 那一套。
    mango88
        9
    mango88   236 天前
    已 star, 周末研究一下
    archean
        10
    archean   236 天前   ❤️ 1
    不瞒您说,我用在了公司某个服务的报警中,作为主要报警手段失效后的备用渠道。
    非常感谢您制作出如此优秀的 App,多年用下来觉得非常可靠。
    想知道是否有 donate 链接?
    mztql
        11
    mztql   236 天前
    哎 已经不支持 10.3 了
    luckyrayyy
        12
    luckyrayyy   236 天前
    帅啊!
    alfawei
        13
    alfawei   236 天前 via iPhone
    目前用 qpush
    uhian
        14
    uhian   236 天前 via iPhone
    公司企业微信没开通接口前一直用这个,很棒。
    wtks1
        15
    wtks1   236 天前 via Android
    @star7th 大部分邮箱都有发送限制,超了之后这邮箱就几乎废了,发邮件得输验证码
    Jackeriss
        16
    Jackeriss   236 天前   ❤️ 1
    死忠粉来顶一个!
    zgzh
        17
    zgzh   236 天前   ❤️ 1
    谢谢~自从你分享后一直在使用,很棒~~掌声
    zpfhbyx
        18
    zpfhbyx   236 天前
    mark,等我换手机了 试试
    zst
        19
    zst   236 天前 via Android
    想知道有没 Android 端类似的走 mi push 的
    jianzhao123
        20
    jianzhao123   236 天前 via Android
    能不能整个安卓的
    lovepy
        21
    lovepy   236 天前
    用过 确实不错, 不过后来想点击看历史消息发现没有 所以转用 tgbot 发消息了
    l12ab
        22
    l12ab   236 天前 via iPhone
    用了很久了,非常好用。还有楼主开发的 V2 客户端
    zhzy0077
        23
    zhzy0077   236 天前
    @zst
    @jianzhao123
    试试 www.pipehub.net 呢,不用 App 直接推送到微信上。
    dingdangnao
        24
    dingdangnao   235 天前 via iPhone
    之前真的好用 后来 自己建了个 tgbot😂还能发群组改声音之类的😂
    diyisoft
        25
    diyisoft   235 天前 via iPhone   ❤️ 1
    老大的工具很好,且开源。赞,谢谢。
    正在用的你的开源 V2EX 客户端来回复的消息。
    benjix
        26
    benjix   235 天前 via Android
    终于有历史消息了....可惜我已经转用企业微信了
    terencehan
        27
    terencehan   235 天前
    一直在用,很舒服。年前结合 bypass 抢票,nice
    kiracyan
        28
    kiracyan   235 天前
    自己试着做个 server 发送消息 但是无法保存信息纪录 isarchive 也传了值没生效 但是 copy 参数生效了 没搞懂是什么原因
    finab
        29
    finab   235 天前
    @kiracyan
    isarchive=1 才会保存,或者不加 isarchive 参数,默认设置下是会保存所有推送
    可以点首页第三条自动保存的测试示例测试一下
    kiracyan
        30
    kiracyan   235 天前
    @finab 你的服务端没问题 我是自己写了一个服务端 试着发一下消息
    finab
        31
    finab   235 天前   ❤️ 1
    @kiracyan 我的实现会把参数名全部转为小写
    例如 isArchive 传给 APNS 时,参数名是 isarchive 。

    iPhone 的推送扩展里的保存推送代码会相应的取 isarchive 的值。
    如果你传的是大写,可能会导致代码认为没有 isarchive 参数,就不保存了

    这种情况下,会根据 APP 设置是否默认保存推送来决定保不保存。默认这个设置是打开的

    是否你关闭了这个设置,并且传递参数时,传了 isArchive ?
    kiracyan
        32
    kiracyan   235 天前
    @finab 没关 我不传也不会自动保存
    这是 json
    {
    "aps": {
    "sound": "1",
    "badge": "0",
    "alert": {
    "body": "You have a new message",
    "title": "hello"
    }
    },
    "copy": "message"
    }
    kiracyan
        33
    kiracyan   235 天前
    @finab 顺便提个建议 注册设备的时候可以手动选择刷不刷新 key,
    finab
        34
    finab   235 天前
    @kiracyan
    缺少了 "mutable-content":1,

    在我的实现里是这行代码
    https://github.com/Finb/bark-server/blob/19fe79ae4267957a10e389e529ce756d120f8564/server.go#L229

    这个字段的作用是推送到达设备时,会先执行推送扩展里的代码再显示推送
    保存推送和其他功能是依赖这个的
    finab
        35
    finab   235 天前   ❤️ 1
    @kiracyan 在我的实现里,Key 注册了就不会变化了。
    因为这是一个公共服务,所以客户端不能指定 key,都由服务端分配。
    分配好后,再注册更新数据时,携带旧 key 不会再分配新 key 了。

    如果是自个的服务端,只需要拿到注册时携带的 token,key 什么的就无所谓了。
    kiracyan
        36
    kiracyan   235 天前
    @finab OK 了 感谢
    v2vTZ
        37
    v2vTZ   234 天前
    用了挺长时间了.是真的好用
    mq4079
        38
    mq4079   234 天前
    很好用,感谢!
    programV2
        39
    programV2   118 天前 via iPhone
    @finab 楼主你好,请问你的 V2EX 客户端怎么发帖子啊,我更新到最新版,没找到发帖子的地方。谢谢🙏
    finab
        40
    finab   118 天前
    @programV2 你好,没有发帖的地方 囧。
    littleboyzt
        41
    littleboyzt   107 天前
    为什么我的 iPhoneSE 上还是无法自动复制,用的 Bark-Chrome-Extension 自动复制版
    finab
        42
    finab   107 天前
    @littleboyzt
    默认没有打开自动复制,右键插件后在选项里把 AutoCopy 打开试试
    littleboyzt
        43
    littleboyzt   107 天前
    @finab 还是不行
    finab
        44
    finab   107 天前
    @littleboyzt
    我这边多台设备测试正常,
    你看你那边能否提供一下你手机的系统版本号,是否使用公共服务器,是否可以收到推送,推送历史记录有没有保存?
    littleboyzt
        45
    littleboyzt   107 天前
    @finab iPhoneSE2,IOS 14.0.1,公共服务器,可以收到推送,历史消息里我看了下没有保存
    finab
        46
    finab   107 天前
    @littleboyzt 我刚去查了查,似乎是 iOS14 调整了后台限制导致的一个问题,不清楚是 BUG 还是特性
    可能导致 UNNotificationServiceExtension 没有执行,Bark 完全使用这个扩展在本地处理推送。
    我还看到有人说似乎在 iOS14.2 解决了,只能等到时候看看了,或者你重启下试试
    littleboyzt
        47
    littleboyzt   107 天前
    @finab 嗨,还真就重启大法好,现在 OK 了
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2740 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:17 · PVG 23:17 · LAX 07:17 · JFK 10:17
    ♥ Do have faith in what you're doing.