爱意满满的作品展示区。
easychen

PushDeer 自架版:一行命令在你自己的服务器上架设一个无 APP 推送服务

  •  
  •   easychen ·
    easychen · Feb 3, 2022 · 11724 views
    This topic created in 1745 days ago, the information mentioned may be changed or developed.

    iOS14+,无需安装任何 APP 即可实现推送:

    服务器端架设:

    git clone https://gitee.com/easychen/pushdeer.git && cd pushdeer && sudo docker-compose -f docker-compose.self-hosted.yml up --build -d
    

    源代码: https://github.com/easychen/pushdeer

    Supplement 1  ·  Feb 3, 2022
    52 replies  •  2022-02-15 14:12:11 +08:00
    ZeroClover
    ZeroClover
    Feb 3, 2022
    1
    东西很好,但是演示的 GIF 太卡了。。。建议换个视频转 GIF 的工具
    triptipstop
    triptipstop
    Feb 3, 2022
    3
    还是用微信公众号测试号的模板消息吧,全平台都是白名单。
    kingxiangqi
    kingxiangqi
    Feb 3, 2022
    4
    为什么需要 APPLE 登陆?
    lockheart
    lockheart
    Feb 3, 2022 via iPhone
    5
    安卓用的谷歌推送吗?
    pi1ot
    pi1ot
    Feb 3, 2022
    6
    😱
    easychen
    easychen
    OP
    Feb 3, 2022
    7
    @lockheart 目前是 MiPush 。之后准备接快应用。
    easychen
    easychen
    OP
    Feb 3, 2022
    8
    @kingxiangqi 因为是多用户系统,iOS 上用 apple 账号不用注册。
    billzhuang
    billzhuang
    Feb 3, 2022 via iPhone
    9
    不错,之前用的 bark 。
    Tink
    Tink
    Feb 3, 2022 via Android
    10
    安卓要安装 app 吗
    easychen
    easychen
    OP
    Feb 3, 2022
    11
    @Tink Android 之后会尝试接入快应用。
    CallMeReznov
    CallMeReznov
    Feb 3, 2022
    12
    我提个问题嗷
    MiPush 是说小米手机的系统不需要另外安装任何其他软件就能接受到推送嘛?
    chotow
    chotow
    Feb 3, 2022 via iPhone❤️1
    13
    @triptipstop #3 如果你知道这个项目的背景就不会这么说了。微信各种限制,反垄断从小处从自己做起。
    datocp
    datocp
    Feb 3, 2022 via Android
    14
    已经转到最古老的 email,然后微信接收邮件通知。。。
    easychen
    easychen
    OP
    Feb 3, 2022❤️1
    15
    @CallMeReznov 不是,MiPush 意味着小米系手机 APP 安装后不驻留后台也能收到消息,但依然要装 APP 。不装 APP 的方案要靠快应用,还在开发中。
    fff333
    fff333
    Feb 3, 2022 via Android
    16
    @easychen 我们用的 mipush ,iOS 经常收不到
    deplivesb
    deplivesb
    Feb 3, 2022
    17
    之前众筹的时候支持过,现在已经用上了,感觉还不错么就是界面我觉得还可以再精致一些,但是迫于自己不会 iOS 相关的开发,所以也没能参与开发😂
    jdgui
    jdgui
    Feb 4, 2022
    18
    其实目前来说体验最好的还是用企业微信转到微信,微信各种手机厂商自带保活
    Maskeney
    Maskeney
    Feb 4, 2022❤️1
    19
    Android 有望流畅使用吗? 我是指 Android 带 GMS 的那种,目前 release 看了一下仅支持微信和苹果账号,有计划接入 Google 账号和 FCM 推送吗?
    dingwen07
    dingwen07
    Feb 4, 2022
    20
    @kingxiangqi Sign in with Apple 不需要担心隐私

    建议 OP 在使用 Sign In with Apple 的时候不要请求用户姓名和电子邮件地址,我记得是可以的
    kingxiangqi
    kingxiangqi
    Feb 4, 2022
    21
    @dingwen07 问题是一个只需要拿到 device token 就能推送的 App Clip 为什么一上来就要求 APPLE 登陆?即使需要实现额外功能(看截图似乎是多设备账户聚合?)也应该作为可选和提供其它注册方式,体验很不友好。而且 App Clip 还面临 30 天不使用会自动删除的隐藏坑。从轻便简易耐用角度来看,整体体验不如需要下载安装的 Bark App 。

    至于 Sign in with Apple 的问题,Epic 已经有先例了,每个人有自己的判断。

    最后吐槽一下推广点,“无 APP 推送服务”,App Clip 在中国区的翻译是“轻 App”,一样有下载安装的过程,一样有 App 授权注册的流程,这样的推广文案实在无爱。
    easychen
    easychen
    OP
    Feb 4, 2022 via Android
    22
    @kingxiangqi PushDeer 并不是某些服务的复刻,它还有 Android 版,是全平台产品,所有数据在服务器端,跟账号走,并不是简单的对 token 推送。

    由于 Apple 不允许 appclip 单独上架,所以我们也提供了 APP 。一年只用几次的同学可以用 APP 。

    隐私问题无需过分担心,毕竟代码开源且服务器可以自架。Apple 账号部分是和苹果服务器通信,应用服务器拿到的已经是 idtoken 。

    至于轻 APP 和快应用是不是 APP ,这是个见仁见智的问题。Web APP 也可以说是 APP 呢。
    Tink
    Tink
    Feb 4, 2022 via Android
    23
    @kingxiangqi 讲道理这比 app 已经轻得多了
    diyisoft
    diyisoft
    Feb 4, 2022
    24
    大佬的工具(很多工具都)很实用。根据开放的 api 已经开发了自己的桌面小应用。十分感谢。
    1OF7G
    1OF7G
    Feb 4, 2022
    25
    "无 APP 推送服务" 实在有点标题党
    Bijiabo
    Bijiabo
    Feb 4, 2022
    26
    请问这个类似小程序码的图案叫什么?
    xxb
    xxb
    Feb 4, 2022 via iPhone
    27
    只能在网页上发消息吗?
    easychen
    easychen
    OP
    Feb 4, 2022
    29
    @xxb 调用 API 接口就行,仓库首页有说明。
    KuoYu
    KuoYu
    Feb 4, 2022 via iPhone
    30
    想法是好的 但是轻 app 没法弹窗通知哇
    FindHao
    FindHao
    Feb 4, 2022 via Android
    31
    支持!虽然之前已经买了 pushover ,但总想把服务都自建。
    不过安卓现在只有 mipush 和快应用是吗?后续会支持楼上说的 fcm 或者 google 账户吗
    AndyZhuAZ
    AndyZhuAZ
    Feb 4, 2022
    32
    我想做个不定期推送一条文字消息的服务,试了试具体方法就是让用户下自建版 app ,然后填我建好的 API endpoint ,然后添加设备再添加 key ,然后再用其他方式将 key 提交到我的另一个服务,然后用另一个服务 POST /message/push 。不用自建版的话就能省掉跑 pushdeer 的服务器,只有一个发送 POST 请求的服务器就好了?这样理解对吗?
    话说那个 token 是从哪里获取的?
    easychen
    easychen
    OP
    Feb 4, 2022
    33
    @AndyZhuAZ key 不用提交,直接写到调用的地方就好了。推送接口只需要 key ,不需要 token 。管理接口才需要 token 。
    easychen
    easychen
    OP
    Feb 4, 2022
    34
    @KuoYu 不太清楚什么是弹窗通知,iOS 的系统通知是能收到的。
    AndyZhuAZ
    AndyZhuAZ
    Feb 4, 2022
    35
    @easychen 可能没说清楚,这里提交说的是用户要订阅我发出的一系列推送的话要把 pushkey 提供给我,然后推送时分别向所有 key 推送。我看 key 是不能更改的这么理解是对的吧?😂
    easychen
    easychen
    OP
    Feb 4, 2022
    36
    @AndyZhuAZ ① 一对多的订阅的确可以这样 ② 在 PushDeer 里边用户可以添加多个 key ,并随时删除或重置。
    Michelangelono
    Michelangelono
    Feb 5, 2022 via Android
    37
    Pixel 支持快应用吗?
    easychen
    easychen
    OP
    Feb 5, 2022
    38
    @Michelangelono 只有加入了快应用联盟的厂商支持,据官方网站,目前覆盖的设备数在 10 亿台。https://www.quickapp.cn/
    SenLief
    SenLief
    Feb 6, 2022 via iPhone
    39
    这个和之前那个 app 区别就是自建吗
    easychen
    easychen
    OP
    Feb 6, 2022
    40
    @SenLief 是。主要是为了启用独立的推送证书,所以弄了一个单独的 app/clip 。
    SenLief
    SenLief
    Feb 6, 2022 via iPhone
    41
    @easychen 主要是没有 pc 端啊,要是有 pc 或者 web 就好了
    easychen
    easychen
    OP
    Feb 6, 2022
    42
    @SenLief 没有 PC ,但是有 Mac 版( iOS 代码直接编译的)。Windows 据说社区有同学去写了,仓库有 API 说明。
    kingxiangqi
    kingxiangqi
    Feb 7, 2022
    43
    @easychen #22 无论什么平台,对于单设备用户而言,一个 push token 都足够,这是你宣传无 APP 足够轻的理念延申。

    我也说的很清楚,如果额外功能,设计上需要账号体系,应该提供其它注册方式,那么正因为你是全平台,更不应该只提供 APPLE 登陆,难道其它平台登陆还必须持有 APPLE ID ?

    提及其它 APP 的目的很明确,只是从无 APP (轻便)角度来说明问题,从来没有认为或影射是在“复刻”某些服务!

    通篇没有提及隐私问题,而是讲一上来就要求 APPLE 登陆,否则无法使用,这样的体验不友好,也不轻便。

    从来也没有试图去论证轻 APP 是不是 APP ,而是这样噱头文案令人无爱,“无 APP”给人的感觉就是不需要下载 /安装 /登陆即可直接使用直接体验服务的概念,而这样的情况,除非是全平台内置的服务否则不可能实现。哪怕你准确描述是轻 APP 实现的,相信用户会更加尊重和感兴趣。再不济你也可以提及其特点是无需从应用商店下载,扫码随取随用的特点,而不是打着“无 APP”夸张宣传,做着与事实不符的事情,最终给用户留下欺骗性的不好的体验。

    本质上留言已经非常克制,完全没有 diss 的意图,提出意见也是出于对开源分享和创新的肯定,希望能够更脚踏实地更准确的来传达知识和内容,是金子就会发光,就会得到大家认可和尊重。但您对于我的留言完全解读为敌意,所以我也只能以更具有针对性和尖锐的语言重新解释我想表达的。当然,或许和谐社会中就不该出现不正确的声音,那么我也说一声抱歉,对不起打扰了,我会闭嘴的。

    @Tink #23 讲道理,我从来没说轻 APP 它不轻,但讲道理,我也不认为一个需要注册账号的轻 APP 比一个下载后直接获取 token 就能用的 APP 来的轻。
    loveqianool
    loveqianool
    Feb 7, 2022
    44
    PC 端呢,说的是全平台,但好像没看有提到 Windows 桌面,现在它连平台都算不上了吗?
    summer2019
    summer2019
    Feb 7, 2022
    45
    还可以,但是 iOS 端界面属实有点丑,建议用苹果原生的设计语言。安卓端可以考虑 Material Design 3 。
    这两个设计语言都挺不错的
    easychen
    easychen
    OP
    Feb 8, 2022 via Android
    46
    @loveqianool 说的本来是 APP 全平台😂。PC 没有 Windows 工程师开发,只能等社区 pr 。
    wenqiq
    wenqiq
    Feb 8, 2022
    47
    @easychen MiPush 在哪可以找到了?求告知
    AsZr
    AsZr
    Feb 9, 2022
    48
    @easychen #22 用了一下,手边没有安卓,安卓版本的就没有试。这个账号,Apple 系统只能 Apple 登陆,安卓有微信登陆,这两个登陆又对不上,很奇怪啊。这样的话我全平台,那我就是安卓也用 Apple 登陆?很不合理,账号就不合理,不如弄个 github Personal access tokens 或者自建类似的平台。
    easychen
    easychen
    OP
    Feb 9, 2022
    49
    @wenqiq 不知道你具体问的啥,如果是问小米开放平台的地址,是 https://dev.mi.com/console/appservice/push.html
    easychen
    easychen
    OP
    Feb 9, 2022
    50
    @AsZr 等你装上安卓试用下就没有这么多疑问了。安卓不光是微信登录,也支持 Apple 登录,设置菜单还支持微信登录账号绑定 apple 账号,或者 apple 登录账号绑定微信账号。iOS 没有微信登录主要是客户端没来记得做,之前的核心贡献者当爸爸了,估计很长时间没空 😂

    至于 GitHub 登录倒不是没考虑过,但国内已经大面积用不了了。另外苹果要求一旦有第三方登录,都必须支持 Apple 登录,又绕回多账户系统了。
    wenqiq
    wenqiq
    Feb 10, 2022 via Android
    51
    @easychen 多谢
    yean
    yean
    Feb 15, 2022
    52
    iso 端为什么不通知,手机上已经所有的通知后台权限都给了,仍然没有通知
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1665 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 130ms · UTC 00:50 · PVG 08:50 · LAX 16:50 · JFK 19:50
    ♥ Do have faith in what you're doing.