新闻详情

新闻详情

首页 / 资讯中心 / 详情

ntfy 桌面通知:从一条 curl 告警到三端弹框与开机自启

发布时间:2026/9/2 23:03:29来源:尧图网络
ntfy 桌面通知:从一条 curl 告警到三端弹框与开机自启
ntfy 桌面通知从一条 curl 告警到三端弹框与开机自启【免费下载链接】ntfySend push notifications to your phone or desktop using PUT/POST项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy当生产环境磁盘告警时希望笔记本和手机同时弹出一条消息。ntfy 是一个基于 HTTP PUT/POST 的推送通知服务一行 curl 发消息订阅端实时收到。原理主题即通道发布即推送ntfy 采用发布/订阅模型主题topic是一个无需注册的地址相当于密码任何客户端向https://ntfy.sh/主题名发 PUT/POST 即完成发布。订阅端对同一主题保持长连接服务端把新消息以 JSON 实时推下来CLI、浏览器、手机端共用同一套协议。最小 Demo两条命令收到第一条消息作用终端 1 保持订阅并打印 JSON终端 2 向同一主题发布一条消息验证收发链路# 终端 1订阅主题默认逐条打印 JSON含 id、time、message 等字段 ntfy subscribe mytopic # 终端 2发布消息返回 HTTP 200 即代表服务端已接收 curl -d Hello ntfy ntfy.sh/mytopic发布方没有身份所以主题名要取不易猜到的值例如带随机后缀的backup-8f3k2m。客户端与服务端是同一个ntfy二进制按 安装文档 装好后无需额外安装任何组件。把 ntfy 消息变成桌面原生通知三套系统的套路一致ntfy subscribe 主题 本地命令。客户端收到消息后把字段注入为环境变量再执行命令$NTFY_MESSAGE别名$m、$NTFY_TITLE$t、$NTFY_PRIORITY$p、$NTFY_TAGS$tags。用 notify-send 把 ntfy 消息弹成 Linux 桌面通知作用订阅 alerts 主题每条消息经 notify-send 弹出桌面通知-u critical 让高优先级消息置顶提醒# -u critical紧急告警走系统级提醒普通消息可去掉该参数 ntfy subscribe alerts notify-send -u critical ntfy 告警 $m仓库提供了一个不依赖 ntfy 客户端的纯 shell 版本 notify-desktop.sh它用curl -s ntfy.sh/mytopic/raw做长轮询逐行读消息后调用 notify-send适合已经跑着 curl 流水线的老脚本改造。订阅多个主题并做过滤时改用配置文件~/.config/ntfy/client.yml然后执行ntfy subscribe --from-config作用按主题绑定不同命令用 if 过滤器只放行 high/urgent 优先级避免普通消息刷屏# 自部署服务器时把 default-host 改成自己的地址 default-host: https://ntfy.sh subscribe: - topic: alerts command: notify-send -u critical ntfy 告警 $m if: # priority 过滤器是逻辑或high 或 urgent 才触发命令 priority: high,urgent - topic: deploy command: notify-send 部署完成 $message优先级取值为 low、default、high、urgent 四档。带 urgent 的消息在手机端的形态如下用 osascript 在 macOS 通知中心显示 ntfy 消息作用把 mac-alerts 主题的消息交给 osascript弹出带标题的原生通知# 双引号内再转义内层双引号保证 $message 传给 osascript 时才展开 ntfy subscribe mac-alerts osascript -e display notification \$message\ with title \$title\多主题配置写到~/Library/Application Support/ntfy/client.yml命令字段同样可用$message、$title等变量保存后ntfy subscribe --from-config生效。首次弹出前需在「系统设置 → 通知」中允许终端发送通知否则消息被静默丢弃。用 notifu 在 Windows 弹出 ntfy toast作用Windows 上调用 notifu 弹出 toastexit 0 明确告诉客户端命令正常结束# 配置文件位于 %AppData%\ntfy\client.yml subscribe: - topic: win-alerts command: | # %NTFY_MESSAGE% 是 Windows 侧的变量写法 notifu /m %NTFY_MESSAGE% /t 10 exit 0保存后运行ntfy subscribe --from-config。notifu 未安装时命令会失败但不影响其他主题可先用where notifu确认安装位置。把告警接进 CI/CD 与 webhook 自动化长任务收尾用 --wait-cmd 发部署结果作用部署完成即推送结果--wait-cmd 把长命令包起来退出后自动发一条带耗时的消息# 显式指定 priority让桌面通知与手机通知更醒目 ntfy publish --title 部署完成 --priority urgent deploy-topic v2.3.0 已上线 # rsync 退出无论成败后自动发布结果省去在脚本里手写 curl ntfy publish --wait-cmd backup-topic rsync -av ./data/ backup:/data已有长进程时可用ntfy publish --wait-pid $(pidof rsync) backup-topic直接跟踪 PID。用 webhook 模板把 GitHub 与 Alertmanager 接进 ntfy作用Alertmanager 的 webhook 指向自托管服务器主题?template 让服务端先把 JSON 渲染成可读文本receivers: - name: ntfy webhook_configs: - url: http://localhost:8080/alerts?templatealertmanager send_resolved: true自托管服务器的 templates 目录 内置github.yml、alertmanager.yml、grafana.yml三套模板。GitHub 仓库的 Webhook 只需把 Payload URL 填成https://服务器/mytopic?templategithubContent type 选application/jsonissue、PR、star 事件都会变成一条格式化消息用 systemd 用户服务让 ntfy 订阅后台常驻三个平台的常驻模式相同一份client.yml加一个服务管理器。区别只在配置文件路径与单元格式。作用克隆仓库取出服务单元装进用户级 systemd登录桌面即自动执行 --from-config 订阅# 服务单元随仓库分发内容即 ExecStartntfy subscribe --from-config git clone https://gitcode.com/GitHub_Trending/nt/ntfy cp ntfy/client/user/ntfy-client.service ~/.config/systemd/user/ systemctl --user daemon-reload systemctl --user enable --now ntfy-client两个要点用户服务user 单元运行在桌面会话内能调用 notify-send、访问 home 目录系统服务client/ntfy-client.service以ntfy用户运行弹不了桌面通知只适合纯转发场景。macOS 无 systemd用 LaunchAgent 在~/Library/LaunchAgents/里包一个ntfy subscribe --from-config即可Windows 在任务计划程序中创建「登录时」触发任务操作填ntfy.exe subscribe --from-config。排错速查现象可能原因一条命令定位订阅端收不到消息两端主题名或主机不一致 curl -d test ntfy.sh/mytopicLinux 不弹桌面通知误用了系统服务无法访问桌面会话systemctl --user status ntfy-client命令里$m为空双引号被外层 shell 提前展开变量未传到子进程改用单引号重跑ntfy sub t echo $mWindows 命令不执行notifu 未安装或不在 PATHwhere notifu私有主题返回 401订阅时缺少凭据ntfy sub -u user:pass mytopic延伸阅读CLI 订阅与发布命令发布消息、优先级与标签API 订阅与消息过滤客户端配置骨架文件systemd 用户服务单元【免费下载链接】ntfySend push notifications to your phone or desktop using PUT/POST项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

207个WebGPU内核:浏览器本地AI推理从黑盒到算子可调优 2026/9/3 3:40:35

207个WebGPU内核:浏览器本地AI推理从黑盒到算子可调优

当 Hugging Face 发布 huggingface/kernels,说这个包提供 207 个 WebGPU 内核、用于浏览器本地 AI 推理时,很多人的第一反应可能是:又一个新库?我倒觉得,这更像一道分水岭。过去很长一段时间,浏览器里跑 AI…

阅读更多 →
ThinkPHP 6.0 + 微信小程序全栈答题系统:架构、性能优化与部署实战 2026/9/3 3:40:35

ThinkPHP 6.0 + 微信小程序全栈答题系统:架构、性能优化与部署实战

简介:这是一套基于ThinkPHP开发的后台答题类微信小程序完整源码,面向PHP后端开发者与小程序全栈学习者,解决在线题库管理、红包奖励发放、流量主收益对接等轻量级知识变现场景的快速落地问题。资源包为ZIP格式,大小45.71MB&#x…

阅读更多 →
基于Echarts的企业级数据驾驶舱:从20套源码到行业化实战 2026/9/3 3:40:35

基于Echarts的企业级数据驾驶舱:从20套源码到行业化实战

简介:本资源为20套基于ECharts的行业级数据可视化大屏与驾驶舱源码,面向前端开发者、数据分析师及企业BI实施人员,解决智慧物流、车联网、大数据运维与分析等场景中实时监控、指标聚合与交互式决策支持等核心需求。压缩包含1369个文件&#x…

阅读更多 →
解码HDAC6:云克隆全平台验证抗体如何赋能神经退行性疾病与肿瘤研究 2026/9/3 3:40:35

解码HDAC6:云克隆全平台验证抗体如何赋能神经退行性疾病与肿瘤研究

解码HDAC6:云克隆全平台验证抗体如何赋能神经退行性疾病与肿瘤研究在组蛋白去乙酰化酶(HDAC)家族中,HDAC6是一位特立独行的“多面手”。它不像其他HDAC成员那样主要定位于细胞核调控转录,而是主要活跃在细胞质中&#…

阅读更多 →
基于STM32与红外传感器的自动泊车小车:从硬件设计到算法实现 2026/9/3 3:40:35

基于STM32与红外传感器的自动泊车小车:从硬件设计到算法实现

简介:本资源是一份面向高校嵌入式课程设计与电子类实践教学的完整项目方案,聚焦基于STM32微控制器与红外传感器实现自动泊车功能,适用于具备C语言基础和初步硬件认知的本科生开展综合实训。压缩包共18个文件(124KB)&am…

阅读更多 →
基于AT89C51与DS18B20的温度监测系统:从时序原理到Proteus仿真实战 2026/9/3 3:37:35

基于AT89C51与DS18B20的温度监测系统:从时序原理到Proteus仿真实战

简介:这是一份面向单片机初学者与嵌入式课程实践者的完整温度监测系统仿真资源,聚焦AT89C51驱动DS18B20数字温度传感器并实时显示于LCD1602的典型应用。资源解决硬件接口设计、1-Wire协议实现、字符型液晶驱动及Proteus联合仿真调试等核心难点&#xff0…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞