核心用法
ntfy-notify 是一个封装了 curl 命令的脚本工具,用于向 ntfy.sh 服务发送推送通知。它支持从基础文本通知到富媒体交互通知的完整功能 spectrum,用户可通过命令行参数灵活配置通知的各项属性。
基础用法:仅需 --message 参数即可发送简单通知到默认主题。
高级功能:
--title自定义通知标题--priority设置 1-5 级优先级(数字越大越紧急)--tags添加可视化标签/图标--click配置点击跳转链接--actions创建交互按钮(支持 view/http 等操作类型)--attach附加图片或文件预览
显著优点
1. 零依赖部署:仅依赖 curl,无需复杂 SDK 或库安装
2. 协议开放:基于 ntfy.sh 开源协议,支持自建服务器
3. 跨平台推送:消息直达 iOS/Android/桌面/Web 多端
4. 交互丰富:操作按钮支持 deeplink 和 API 触发,适合 DevOps 告警、CI/CD 状态通知
5. 轻量封装:Shell 脚本形式,易于审计和定制
潜在缺点与局限性
1. 依赖外部服务:默认使用 ntfy.sh 公共实例,存在服务可用性风险
2. 主题安全:默认主题名公开可见(CaptainDragonflyBot-TopicTest001),若用户未更换可能存在消息泄露
3. 无消息历史:ntfy 不持久化消息,离线期间消息可能丢失
4. 速率限制:免费公共实例可能有频率限制
5. 图片附件限制:通过 URL 引用的附件依赖外部图床可用性
适合人群
- 开发者/DevOps 工程师:CI/CD 流水线状态通知、服务器监控告警
- 个人自动化爱好者:Home Assistant、n8n 等场景的消息推送
- 需要轻量通知方案的技术团队:避免集成臃肿的推送 SDK
常规风险
- 数据泄露风险:若使用默认主题或弱主题名,通知内容可被他人订阅
- 依赖风险:脚本硬编码依赖
ntfy.sh域名,若服务变更需手动更新 - 命令注入:需确保传入的
--actions、--attach等参数经过可信来源验证,避免 header 注入攻击