通知推送助手是一款 Android 通知监听与推送工具。把手机上的任意通知,通过 Webhook(企业微信 / 钉钉 / 飞书 / Telegram / Bark / Server酱 / PushPlus / ntfy / Gotify / Slack / Discord)、自建应用通道(企业微信 / 飞书)、幻念推送(另一台手机,或由第三方经接入端点推给这台设备)或 SMTP 邮件实时转发——支持应用筛选、关键词过滤、可视化规则约束(通知优先级分级、定时/延迟推送)、桌面小部件一键启停与电量/温度提醒。
从监听、过滤到推送,每个环节都可精细掌控。为效率而生的完整功能矩阵。
监听系统所有应用的通知栏消息,自动识别微信、QQ、短信、来电、支付宝、微博、抖音、系统通知等 20 类通知来源,并以 %notifyType% 变量随推送下发。
12 种 Webhook 通道类型(企业微信 / 钉钉 / 飞书 / Telegram / Bark / Server酱 / PushPlus / ntfy / Gotify / Slack / Discord / 自定义,ntfy 与 Gotify 支持自建服务器)+ SMTP 邮件(465 SSL / 587 STARTTLS),每个通道独立开关,主题与正文支持模板变量。
与 Webhook 并行的独立通道体系:企业微信自建应用 / 飞书自建应用,走「凭据换 token → 调用消息端点」两阶段 API,按 corpid/agentid 或 app_id/receive_id 定向推送;官方端点可替换为你自己的私有化部署地址,凭据加密存储,送达回传与失败重试同 Webhook 通道。
与 Webhook、自建应用、邮件并列的第四类通道「幻念推送」:把通知送到另一台装了本应用的手机(两台设备配对、逐条签名投递),或由 NAS、脚本、第三方平台经接入端点(一把长期口令)推给这台设备。正文在你的设备上加密后才发出;可用官方实例,也可自行部署。
IF 条件组合(包名 / 标题与正文的含或不含关键词 / 优先级 / 时间段 / 正则,共 8 类条件)+ THEN 动作配置,按通知优先级(高/中/低)分级处理——静默忽略 / 仅记录 / 定时与延迟推送 / 立即推送 / 同应用合并推送(可设窗口期,支持满 N 条提前触发与按会话分组);内置验证码优先、广告拦截、夜间免打扰等默认规则,开箱即用。
白名单 + 黑名单双模式关键词过滤,精准控制哪些内容推送、哪些内容拦截。
自定义选择需要推送的应用,支持「通知 / 不通知」双模式与一键全选、反选。
充电 / 断开 / 指定电量阈值全自定义规则,息屏 Doze 下依然可靠推送,可增删改。
电池温度 / 设备温度 / 屏幕温度三维度独立规则,自定义阈值触发推送;触发后 30 分钟冷却,防温度波动重复推送。
推送历史完整保存于本地(无条数上限),支持全量搜索与按日 / 时间段 / 应用 / 包名 / 送达状态筛选,详情查看与导出,随时回溯每一条通知去向;失败记录支持多选批量补推。
text / markdown / json / xml 四种消息格式(另有平台默认封装)自定义,%appName% 等变量占位符自动替换,聚合推送额外提供 %count%(条数)与 %titles%(成员标题摘要)变量,每个通道独立配置。
前台通知栏按钮或桌面小部件一键暂停 / 恢复推送,监听继续、仅停 Webhook,状态重启后恢复。小部件 2×2/4×2 视觉焕新,支持系统添加弹窗预览;不支持一键添加的桌面自动弹出分品牌分步引导(小米/华为/OPPO/vivo/三星等)。
监听短信 / 验证码监听 / 监听卡选择三大开关集中管理,单卡设备自动灰化选卡;卡槽过滤同时作用于短信与来电,推送正文可附「卡1,运营商」双语信息行。
一键将 Webhook / 自建应用 / 邮件 / 幻念推送四类的通道与接收设置、通知规则、短信设置、应用筛选、黑白名单关键词、电量 / 温度 / 设备状态规则、设备名、主题与语言等 14 类配置加密导出为 .nbackup 文件(AES-256-GCM + PBKDF2 210k 迭代口令派生),换机重装输入口令即可还原,覆盖或仅补空缺由你决定;备份格式 v2 向后兼容 v1,通知历史不在备份范围内。幻念推送的身份私钥、配对名单与各类口令不进备份,换机后需重建端点、重新配对。
全应用中英双语支持(中英各 1251 词条,键集由 CI 强制对齐),设置页一键切换语言;桌面图标随界面语言提供 17 款 × 中/英两套 alias 入口。
浅色 / 深色 / 跟随系统三种主题,Material 3 视觉基底,弹窗与开关控件统一 iOS 风格,界面简洁优雅。
前台服务 + 电量白名单 + 开机自启,稳定常驻;支持版本更新,无需重装。
输入模拟通知(应用 + 标题 / 内容 / 优先级),实时展示「过滤 → 规则匹配 → 最终动作」完整命中链路,规则为什么不生效一眼看清。
内置验证码优先、营销拦截、夜间免打扰、社交消息聚合等 5 套预设模板一键导入;自定义规则可「存为模板」复用,支持导出分享(可选口令 AES-256 加密)与文件导入。
通道成功率排行、失败原因 TOP(HTTP 状态码聚类)、24 小时高峰时段分布,近 7 天 / 30 天自由切换,哪个通道出问题一眼看清。
启用通道超过 6 小时未探测即在 Webhook 设置页后台逐个补测(轻量连通探测并持久化),通道卡片实时显示「连通 · 延迟 · 探测时间」徽标,通道挂了第一时间发现。
推送失败自动入队重试(服务启动 / 网络恢复时重放最近失败项,15 分钟冷却、最多 3 次、24 小时内有效);服务被系统回收后启动时自动补扫通知栏中未处理的驻留通知(最长回溯 6 小时),长时间锁屏后台也少漏通知。
一条通知从产生到送达,只需五步。
系统通知栏产生消息,监听服务实时捕获
解析来源应用与类型,标记微信、短信、来电等
经规则约束 + 关键词 + 应用筛选层层判定
按格式封装,并行推送至 Webhook / 自建应用 / 邮件 / 幻念推送通道
推送结果记入历史,成功失败一目了然
通知默认在本机处理、管理后台二步验证、敏感数据加密——隐私与安全,从设计之初就被认真对待。
管理后台登录启用 2FA,兼容 Google Authenticator,防止凭据泄露。
Token 使用 bcrypt 哈希验证,抵御暴力破解与彩虹表攻击。
10 分钟内验证码错误 5 次自动封锁 IP 1 小时,阻断自动化爆破。
生成 8 个一次性恢复码,设备丢失时安全找回账户。
TOTP secret 等敏感数据加密存储,密钥泄露也无法直接读取。
备份文件以 AES-256-GCM 认证加密、PBKDF2(210k 迭代)派生密钥,口令错误或密文被篡改均无法解密。
应用内更新下载完成后、安装前先比对 version.json 下发的 sha256,不一致即删除并阻止安装——防 CDN 传输损坏或途中篡改,与签名校验(可信根)双层互补。
默认情况下,通知与短信内容只在你的设备本地处理,推送只经你自己配置的通道发出——Webhook、自建应用、SMTP 邮件,以及幻念推送;已安装应用列表也只用于本机的应用筛选与规则匹配。
① 不使用「幻念推送」——全部逻辑在本机完成,通知内容不经过任何服务器。
② 只用本软件转发通知——同样不经过服务器,我们不收集通知内容。
③ 使用「幻念推送」(设备互推,或第三方经接入端点推给手机)——需经服务器中转才能送达,且要先由你在应用内一次性显式同意;未送达期间正文在服务端加密暂存、最长保留 7 天,送达或到期立即删除,配对口令与身份私钥不上传,审计只保存元数据(不含正文)。
④ 官方实例与自行部署——官方实例(push.fnthink.top/中国大陆 push.fnthink.com)由本项目方运营;自行部署由你自己运行与掌控,本项目方既不运营也不接触,也因此没有官方侧的限流与风控兜底,保护强度取决于你自己的运维。两种形态共用同一套协议:正文在你的设备上加密后才发出,服务器不落明文正文,差别只在谁在运营那台机器,不在谁能看到正文。
崩溃统计(腾讯 Bugly)默认关闭,仅在你主动开启后采集崩溃堆栈与设备型号,可随时关闭。
Flutter(Dart)UI + 原生 Kotlin 后台服务 + Node.js 更新服务,全链路开源可审计;当前仅提供 Android 版本。
除了把通知发到聊天软件和邮箱,幻念推送还能把它们送到另一台手机,或者由 NAS、脚本、第三方平台经接入端点推进来。
在应用里「推送引擎 → 幻念推送 → 接入端点」建一个端点,拿到它的地址与口令。口令只能往这台设备推 —— 拿到口令也发不到别的设备去。下面三段的占位符换成你自己的。
curl -X POST "https://<HOST>/api/fnthink/p/<ENDPOINT_ID>/<SECRET>" \ --data-urlencode "title=Backup done" \ --data-urlencode "body=NAS backup finished"
rest_command:
notify_phone:
url: "https://<HOST>/api/fnthink/p/<ENDPOINT_ID>/<SECRET>"
method: post
content_type: application/x-www-form-urlencoded
payload:
title: "Home Assistant"
body: "{{ states('sensor.living_room') }}"
*/10 * * * * /usr/bin/curl -s -X POST \ "https://<HOST>/api/fnthink/p/<ENDPOINT_ID>/<SECRET>" \ --data-urlencode "title=Cron" \ --data-urlencode "body=heartbeat $(date)"
三个入口是同一个:title 与 body 就够,tags、ttl、dedupe 按需加。口令在 URL 的最后一段,可能被反代写进 access log —— 服务端启动时会核对脱敏前缀盖得住这条收单路径,但那段配置仍要你在自己的反代里做,没配之前口令确实会落盘。
与幻念推送同一条链路,接收端把应用动作与系统设置分成两档、逐条授权。 每一条执行前都有一次看得见的撤销机会,执行完回执告诉你做到哪一步。
L2 可带可不带;L3 必须带其中之一 —— 一把接收端生成、只存哈希的高级密钥,或一份 6 位 / 30 秒的 TOTP(TOTP 由接收端生成、不经服务器,当面扫码交给发送端)。缺失或错误一律拒收。
执行前默认 10 秒(0–60 可调),窗口内可经状态栏通知与界面顶端横幅取消,超时默认执行。你在不在设备前不影响计时 —— 这是给你的一次可见撤销机会,不是再弹一次确认框;它不许被绕过。
L2 的每个应用动作与 L3 的每项设置都在契约里逐条列全,不在表内的一律拒收,不做「认不出就先跳过」—— 那等于让对端拿编出来的名字试探这台设备的边界。第三方平台接入端点最高只到 L1。
每分钟失败 5 次自动降级到 L1;每次执行都写留痕。服务端只保存元数据,指令正文与凭据都不进审计。
两件事要分清:设备身份私钥证明「我是这台设备」,远程执行的高级密钥 / TOTP授权「这条远程指令」—— 不是同一把。 另外 L3 的每项设置分两种落法:grant 是跳系统设置页请你自己点(不可逆动作必须由你完成), toggle 是翻这台设备自己的一项开关。没有「静默改系统设置」这一档。
需要读本机数据的动作(如「按关键词搜通话记录」「读最近一次定位」「拍一张」「搜通讯录」「按关键词搜本机短信」)另有本机开关,默认关、单独开:打开时才向系统要那一条权限,关掉立即生效;其中「按关键词搜本机短信」还能再开一枚同样默认关的开关,把这台已经监听的短信留存一起搜进去(那一格本来就存在本机数据库里,不需要额外系统权限);读到的内容只当一条普通消息回传(有回执、进收件箱),不是把设备的读取权交出去。其中「拍一张」的照片会随回传消息把图像一起带回发起的那台(经你选定的服务器中转)。