ntfy

用一行 curl 把推送发到手机

AI生活娱乐 部分免费

产品简介

ntfy(发音 "notify")是一款基于 HTTP 的开源消息推送服务,由德国开发者 Philipp Heckel 创建并维护。它允许用户通过简单的 HTTP PUT/POST 请求向手机或桌面发送推送通知,无需注册、无需付费、完全免费开源。用户只需安装 Android 或 iOS 客户端,订阅一个主题(topic),即可在任何计算机上通过一行 curl 命令或 SDK 向该主题推送消息。

核心功能

多平台推送:ntfy 支持 Android(Google Play / F-Droid)、iOS(App Store)及 Web 端接收通知,覆盖主流移动和桌面平台。

极简协议:基于 HTTP 的发布/订阅机制,无需复杂配置,一行 curl 即可推送消息,降低了使用门槛。

无需注册:使用 ntfy.sh 公共服务时完全不需要创建账号,主题(topic)名即是密码,私密性由命名保障。

自托管部署:项目完全开源(Apache 2.0 + GPLv2 双协议),用户可自行搭建 ntfy 服务端,数据完全自主掌控。

丰富 SDK:官方提供 Python、Go、JavaScript、PHP 等多语言 SDK,开发者可将推送能力集成进自己的脚本和应用。

无追踪无广告:不追踪用户行为,无广告干扰,推送内容仅送达指定主题的订阅者。

附件支持:Pro 计划支持大文件附件(最高 100MB),免费版也支持基础消息推送。

优先级与标签:支持设置消息优先级(min/low/default/high/max)和标签,实现精细化的通知管理。

技术实现

ntfy 服务端由 Rust 语言编写(移动端 App 为 Kotlin/Swift 原生开发),通过长轮询(Long Polling)和 WebSocket 两种方式实现消息的实时送达。相比传统的邮件通知或短信推送,ntfy 基于 HTTP 的设计让它天然具备跨平台穿透力——只要设备能联网,就能收到推送。

服务端默认监听 80 端口(HTTP),提供 RESTful API,消息体直接放在 HTTP 请求体内,无需额外的 JSON 封装或签名验证。订阅端通过 Keep-Alive 长连接与服务端保持通信,消息到达后在 300ms 内即可触达手机通知栏。

客户端(Android/iOS)均为开源项目,代码托管于 GitHub,接受社区审计。Android 版还支持后台保活、电池优化白名单等系统级设置,确保推送的可靠性。

快速上手

第一步:安装客户端

在手机应用商店搜索"ntfy"安装 iOS 或 Android 客户端。安装后打开 App,订阅一个主题(例如 my-alerts)。

第二步:发送第一条消息(curl)

curl -d "构建完成 ✅" ntfy.sh/my-alerts

这条命令执行后,你的手机会立即收到一条标题为"my-alerts"、内容为"构建完成 ✅"的通知。

第三步:发送带优先级和标签的消息

curl -H "X-Tags: warning,disk" -H "X-Priority: high"      -d "磁盘空间不足!" ntfy.sh/my-alerts

第四步:使用 Python SDK

import requests
requests.post("https://ntfy.sh/my-alerts",
              data="Python 脚本执行完毕",
              headers={"X-Tags": "python,success"})

第五步:自建服务端

curl -L https://github.com/binwiederhier/ntfy/releases/latest/download/ntfy_linux_amd64.tar.gz      -o ntfy.tar.gz
tar xzf ntfy.tar.gz
./ntfy serve

适用人群

开发者与运维工程师:长时运行的脚本完成后、CI/CD 构建失败时、系统告警触发时,通过 ntfy 即时收到通知,替代传统邮件告警延迟高、容易被忽略的痛点。

个人效率用户:配合 IFTTT、Zapier 或 Shell 脚本,将树莓派传感器数据、Google Drive 文件变化、日历提醒等事件推送到手机。

隐私敏感用户:ntfy 无需注册账号、无追踪、自托管选项让重视数据主权的用户也能放心使用。

IoT 与硬件创客:ESP32、树莓派等嵌入式设备可通过 HTTP 请求直接推送传感器数据或异常告警,无需复杂 MQTT 配置。

使用场景

服务器监控告警:Zabbix、Prometheus、Grafana 等监控工具对接 ntfy,CPU 占用超标、磁盘空间不足、服务宕机时实时推送。

家庭自动化:Home Assistant 自动化规则触发时推送通知,例如"门锁已打开""温湿度异常"等事件。

开发流程自动化:GitHub Actions、GitLab CI、Jenkins 构建完成后推送结果,代码提交后无需守在电脑前等待。

文件同步与备份:restic、Duplicati 等备份工具完成后推送确认,Syncthing 检测到冲突时立即通知。

远程下载完成通知:wget、curl、rtorrent 下载大文件完成后,手机收到通知,无需 SSH 连线查看。

官方资源

官网地址:https://ntfy.sh

GitHub 仓库:https://github.com/binwiederhier/ntfy

官方文档:https://docs.ntfy.sh

Android 下载(Google Play):https://play.google.com/store/apps/details?id=io.heckel.ntfy

Android 下载(F-Droid):https://f-droid.org/en/packages/io.heckel.ntfy/

iOS 下载(App Store):https://apps.apple.com/us/app/ntfy/id1625396347

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论