Universal Notify

📢 一行命令,六路通达

一站式多通道通知脚本,零配置支持ntfy.sh,支持Gotify、Telegram、邮件等6种渠道,带优先级分级

收藏
7.6k
安装
1.5k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

Universal Notify 是一个命令行通知聚合工具,通过单一脚本 notify.sh 将消息分发至 6 种主流通知渠道:

| 渠道 | 特点 | 适用场景 |
|:---|:---|:---|
| **ntfy.sh** | 免费、无需注册、开箱即用 | 快速测试、临时监控 |
| **Gotify** | 自托管、数据私有 | 企业内网、隐私敏感环境 |
| **Telegram Bot** | 覆盖广、支持富文本 | 团队群组、移动优先 |
| **Pushover** | 专业推送、多设备同步 | 个人关键告警 |
| **SMTP 邮件** | 通用兼容、可追溯 | 正式通知、审计需求 |
| **Generic Webhook** | 灵活扩展、集成自定义服务 | 与现有系统对接 |

统一接口设计显著降低学习成本:所有渠道共享 --message--title--priority(low/normal/high/urgent)参数,仅需切换 --channel 即可迁移通知逻辑。

显著优点

1. 零门槛启动:ntfy.sh 模式无需 API 密钥和账户,curl 即可发送,5 秒完成首条通知
2. 运维友好:纯 Bash 实现,依赖仅 curl,兼容几乎所有 Linux/macOS 环境

3. 优先级语义:内置四级优先级,可对接不同渠道的差异化提醒策略(如 Pushover 的紧急通知 bypass 静音)

4. 自托管选项:Gotify 支持完全离线的私有化部署,满足合规要求

潜在局限

  • 配置分散:除 ntfy.sh 外,各渠道需独立管理凭证(token、SMTP 密码等),无统一密钥管理
  • 无原生重试机制:网络失败需依赖外部重试逻辑
  • 功能深度有限:不支持消息模板、富媒体附件、交互按钮等高级特性
  • ntfy.sh 依赖公网:虽免费但受服务可用性制约,不适合 100% SLA 场景

适合人群

  • 个人开发者 / 运维工程师需要快速搭建监控告警
  • 小型团队寻求轻量级通知方案,避免引入复杂的消息队列系统
  • 已有自建基础设施(Gotify/邮件服务器),希望统一调用接口

常规风险

  • 凭证泄露风险:命令行直接传递 token 可能被 shell history、进程列表(ps)或日志记录捕获
  • SMTP 明文传输:若未强制 TLS,邮件凭证和正文存在中间人窃听可能
  • ntfy.sh 主题爆破:公开主题名可能被他人订阅或恶意推送,敏感信息应避免使用默认公共实例
  • 优先级误用:urgent 级别在部分渠道可能触发强提醒(如电话通知),需控制使用频率避免告警疲劳

Universal Notify 内容

scripts文件夹
手动下载zip · 3.8 kB
notify.shtext/x-shellscript
请选择文件