Universal Notify

通过单一脚本跨多渠道发送通知。支持 ntfy.sh(免费免注册)、Gotify(自建)、通用 Webhook、邮件(SMTP/curl)、Telegram Bot API 及 Pushover。适用于发送告警、监控通知、部署提醒等需触达用户的场景。提供统一接口及优先级(低/普通/高/紧急)支持。

安装

概览

Universal Notify 是一款轻量级、跨平台的命令行通知工具,旨在通过单一脚本接口实现多种通知渠道的统一管理。它允许开发者和运维人员使用一条命令即可向 ntfy.sh、Gotify、Webhook、邮件(SMTP)、Telegram Bot 和 Pushover 等主流平台发送消息,极大简化了告警系统和自动化流程中的通知集成工作。该工具不依赖复杂的配置或中间件,仅需标准 `curl` 支持,即可快速部署并投入使用。其设计核心在于提供一致的使用体验:无论目标平台为何,用户都可通过相同的参数结构调用通知功能,显著降低了多平台通知系统的维护成本。Universal Notify 特别适合需要频繁触发通知的场景,如系统监控、服务状态提醒或 CI/CD 流水线完成后的自动反馈。

核心功能特点

  1. 支持 ntfy.sh、Gotify、Webhook、SMTP 邮件、Telegram Bot 及 Pushover 六大通知渠道
  2. 统一命令行接口,所有渠道共用相同参数格式(消息、标题、优先级)
  3. 内置四种消息优先级(低/普通/高/紧急),满足不同场景的紧急程度需求
  4. 无需复杂配置,仅需 curl 和对应平台的凭据即可运行
  5. 适用于告警、监控、部署提醒等多种自动化通知场景

适用场景

Universal Notify 特别适用于需要集中管理多渠道通知的自动化环境。在 DevOps 实践中,当服务器资源使用率过高、服务异常或服务部署完成后,管理员常需同时向多个终端推送通知。借助 Universal Notify,开发者可以在一个脚本中定义好通知逻辑,然后根据事件类型选择性地发送到 ntfy.sh(用于桌面即时提醒)、Telegram(团队群组通知)或邮件(正式记录与归档),实现通知触达的最大化。对于自建监控系统而言,Universal Notify 可作为后端通知模块,将告警信息通过 Gotify 推送到内部消息面板,或通过 Webhook 转发给第三方平台如 Slack 或企业微信,形成完整的告警闭环。此外,在持续集成/持续交付(CI/CD)流程中,每次构建成功或失败时调用 notify.sh 脚本,能确保相关人员第一时间获知变更状态,提升协作效率。由于其对优先级机制的支持,紧急故障可直接标记为 urgent 级别,确保关键信息不被遗漏。