Pushoo-chan 推送通道聚合平台

大类
Util
技术标签
云服务-CFWorkers
环境增强
优先级
Medium
开始日期
Apr 18, 2022
状态
Maintaining
Public
Public
最后更新
Feb 11, 2023

Pushoo-chan, 为开发者优化的优雅推送接口

初衷

问题1:多个push平台互不兼容,需要记住多个接口,使用困难

我日常喜欢用的推送接口:
  • TG:消息可持久化,但国内节点无法直连,推送延迟巨大
  • Server酱:付费,垃圾东西
  • Bark/PushDeer等:推送速度快,但仅支持移动端
  • QQ:方便,消息可持久化,但机器人配置复杂
  • 微信:不方便,消息内容无法显示,但有时需要备用

问题2:多通道同时推送

为了确保消息送达,有时候则需要同时使用多种推送通道推送以避免推送失败。
但调研后,没有一家通知平台支持这种功能

问题3:部署难度

PushDeer、server酱等部署难度同样较大,有着许多冗余的鉴权部分
 

实现

  • 推送:
    • 找到了pushoo这个sdk,可以传入token这一个字段来同时支持多种通知渠道。
  • 运行环境:
    • 参考了,实现了多个starter,同时支持CFWorkers和node直接启动
    • 尝试了这些框架:
      • express:仅支持在node环境中使用
      • Sunder:非常难用,文档没法看,且看起来年久失修
      • itty-router:平台无关,完全不依赖node API,所以可以直接使用
    • 学习了这些技术
      • webpack
      • browserify,用上了他的polyfill
 
 

更新230210 - 联动Apprise,支持barkv2

需要与Apprise联动,在Apprise支持的简单webhook通道里:
  • ServerChan:仅支持官方API(只支持设置key)
  • Bark:支持自己定义Host,但是并不支持自己定义URL
    • 使用Cloudflare Worker转了一层,但是还是发不过去
    • 打开verbose发现使用的BarkV2的POST /send接口
基于这些情况只好支持一下barkv2的接口,好在不麻烦