说明:
- ntfy源代码:https://github.com/binwiederhier/ntfy.git
- 官方未编译Windows版本,本人编译最新版本:(链接:https://pan.baidu.com/s/1pMsfqNb5FKHawTLUBTgjQA?pwd=f84u提取码:f84u)
- 服务部署系统:Windows Server 2019或其他Windows系统
简介
ntfy是一个开源的消息通知服务,旨在简化消息发布和订阅的过程。它支持在各种平台上发送和接收通知,比如桌面、移动设备和命令行。以下是关于ntfy的一些基本介绍和使用方法
特性
- 跨平台支持:可以在Windows、macOS、Linux、Android和iOS上使用
- 多种传输方式:支持HTTP和WebSocket协议
- 灵活的消息格式:可以发送纯文本、JSON以及其他格式的消息
- 订阅机制:支持通过主题进行订阅,用户可以选择接收特定主题的通知
- 集成能力强:可以与各种自动化工具、脚本语言和开发语言集成,比如Bash、Python、Java、JS、Go和.NET等
应用场景
系统监控和报警
ntfy可以用于监控服务器和应用的状态,当出现异常情况时即时发送通知
示例:
- 服务器宕机通知
- CPU 使用率过高警报
- 磁盘空间不足通知
安全事件通知
ntfy 可以用于安全事件的即时通知,如检测到可疑登录、未授权访问等
示例:
- 可疑登录尝试通知
- 文件系统变更通知
应用程序事件通知
ntfy可以用于应用程序内部事件的通知,如用户注册、订单生成等
示例:
- 新用户注册通知
- 新订单生成通知
个人提醒和任务管理
ntfy也可以用于个人的提醒和任务管理,帮助用户按时完成任务
示例:
- 日程提醒
- 任务到期通知
IoT设备通知
ntfy可以用于物联网设备的状态通知和报警,比如温度传感器、烟雾报警器等
示例:
- 温度过高报警
- 烟雾检测报警
启动服务
ntfy serve --config=server.yml
server.yml
base-url: "http://192.168.8.212:5080"
listen-http: ":5080"
cache-file: "cache.db"
cache-duration: "36h"
attachment-cache-dir: "attachments"
说明:
- base-url的用处之一就是作为附件访问路径前缀,比如上传的附件的下载链接为“http://192.168.8.212/file/OxtNu3vtGFpT.jpg”,“/file”之前就是base-url
启动服务,浏览器打开“http://192.168.8.212:5080/”
发送第一个消息
订阅主题
发布通知
发布含附件的通知
安卓手机接受通知
下载客户端
Google应用商店或者F-Droid下载安卓客户端“ntfy - PUT/POST to your phone”
订阅通知
【设置】,修改【默认服务器】为私人部署服务器
右下角加号,订阅主题,主题名称填写“test”
.NET项目发布通知
除了C#语言,其他语言比如,Go、Python、JS、Java、PHP和Rust等开发语言能都很方便使用ntfy发布通知,查看文档Projects + scripts如下
新建.NET 6.0控制台应用程序
NuGet安装ntfy v0.5.0
Program.cs
using ntfy.Actions;
using ntfy.Requests;
using ntfy;
namespace ConsoleApp1
{
internal class Program
{
static async Task Main(string[] args)
{
// Create a new client
var client = new Client("http://192.168.8.212:5080");
// Publish a message to the "test" topic
var message = new SendingMessage
{
Title = "This is a demo.",
Actions = new ntfy.Actions.Action[]
{
new Broadcast("label")
{},
new View("打开百度", new Uri("http://www.baidu.com"))
{}
}
};
await client.Publish("test", message);
}
}
}
参考
标签:订阅,http,示例,通知,ntfy,new,推送 From: https://www.cnblogs.com/vinciyan/p/18280677