旧安卓机改造成个人通知网关:从通知监听到 Webhook 全链路实践

0 阅读2分钟

背景

我有一台常年插电的旧 Android,希望把它收到的通知、短信统一汇聚到日常使用的 IM 和邮箱,并且数据不经过任何第三方云。本文记录用 NotifyForward 搭建这条链路的完整过程与原理。

整体架构

源手机通知 → NotificationListenerService 捕获 → 本地规则引擎(应用过滤/关键词/去重)→ 通道投递(Bark / SMTP / Webhook)。 关键点:全链路在设备本地完成,没有中转服务器,也不需要注册账号。

一、通知捕获

基于 Android 标准 NotificationListenerService,无需 root:

  • 普通应用通知直接读取通知栏内容;
  • 短信不申请 SMS 权限,而是通过通知内容识别;
  • 未接来电同样通过通知识别,不申请电话权限;
  • 短信与未接来电转发默认关闭,需用户显式开启。

二、规则引擎

  • 应用维度:白名单 / 黑名单 / 全部转发;
  • 内容维度:关键词过滤、内容长度限制;
  • 去重策略:普通通知 5 秒窗口去重,短信按消息体去重,未接来电按 key 去重,避免 IM 连续刷屏。

三、通道投递

  • Bark:适合投递到 iPhone/iPad;
  • SMTP:标准邮件协议,可投递到任意邮箱用于归档;
  • Webhook:内置 Telegram、ntfy、Gotify、Discord、Slack、企业微信、钉钉、飞书预设,也支持自定义地址,开发者可以直接对接自建服务。

四、安全设计

通道凭据(如 Webhook 地址、SMTP 密码)通过 Android Keystore 生成密钥,使用 AES-256-GCM 加密后落盘;应用本身无网络服务端,卸载后数据随应用沙箱清除。

五、保活实践

通知转发是长跑任务:前台持久服务常驻 + 引导用户关闭电池优化 + 国产 ROM 自启动设置。应用已适配 Android 14 前台服务类型(special use),最低支持 Android 8.0。

六、可以怎么玩

  • 个人告警:服务器/爬虫/家宽掉线,Webhook 到 Telegram;
  • 双机协同:工作机通知走 Bark 到个人手机;
  • 验证码归集:收码卡短信按关键词白名单转发到邮箱。

工具在 Google Play 搜索 NotifyForward 即可,无广告无内购,官网有逐屏文档www.jujumi.top/EasyNotifyF… Webhook 玩法。