首页 > 其他分享 >使用开源ntfy消息推送服务发布通知实现全平台接收通知

使用开源ntfy消息推送服务发布通知实现全平台接收通知

时间:2024-07-02 22:42:42浏览次数:21  
标签:订阅 http 示例 通知 ntfy new 推送

说明:

简介

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"

说明:

启动服务,浏览器打开“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

相关文章

  • 【Spring Boot】Spring AOP中的环绕通知
    目录一、什么是AOP?二、AOP的环绕通知2.1切点以及切点表达式2.2连接点2.3通知(Advice)2.4切面(Aspect)2.5不同通知类型的区别2.5.1正常情况下2.5.2异常情况下2.6统一管理切点@PointCut一、什么是AOP?AspectOrientedProgramming(面向切面编程)AOP是Spring框......
  • SpringBoot+mail 轻松实现各类邮件自动推送
    一、简介在实际的项目开发过程中,经常需要用到邮件通知功能。例如,通过邮箱注册,邮箱找回密码,邮箱推送报表等等,实际的应用场景非常的多。早期的时候,为了能实现邮件的自动发送功能,通常会使用JavaMail相关的api来完成。后来Spring推出的JavaMailSender工具,进一步简化了邮件的......
  • Kindle 终止中国在线服务 用户如何继续使用推送服务
    2024年6月30日,根据亚马逊公告Kindle中国电子书店正式停止云端下载服务。即日起,未下载的电子书将无法下载和阅读,用户也无法从应用商店下载KindleAPP,同时,Kindle客户服务也将停止支持。虽然Kindle中国服务停止,但用户仍可以通过切换到美区和其他地区的亚马逊账号来继续......
  • 推送标签到远程仓库的步骤
    推送标签到远程仓库的正确方式在软件开发中,标签(tag)是一种非常重要的工具,用于标记特定的版本或者里程碑。Git允许开发者在代码中创建和管理标签,并且可以将这些标签推送到远程仓库,例如GitHub,以便团队和用户能够方便地访问和使用特定版本的代码。步骤:创建标签首先,在本地仓库中......
  • 后端开发Spring框架之消息 消息队列案例--订单短信通知
    消息队列案例首先我们书写一个业务层接口定义的是发送消息短信消息处理packagecom.bigdata1421.message.service;publicinterfaceOrderService{voidorder(Stringid);}创建业务层的实现类并且我们要重写方法这里就是打印日志将消息打印在控制台再写......
  • win32 低内存通知事件
    在Windows机制里面,将在物理内存、换页池、非换页池以及提交用量很多或很少时,向用户模式进程和内核模式驱动程序提供通知。本文将重点放在用户模式的进程上本文属于读《深入解析Windows操作系统》读书笔记应用程序可以调用CreateMemoryResourceNotificationfunction函数......
  • 异步通知实验
    异步通知实验Linux应用程序可以通过阻塞或者非阻塞这两种方式来访问驱动设备,通过阻塞方式访问的话应用程序会处于休眠态,等待驱动设备可以使用,非阻塞方式的话会通过poll函数来不断的轮询.查看驱动设备文件是否可以使用。这两种方式都需要应用程序主动的去查询设备的使用情况,“......
  • JAVA SSE 服务端单向消息通知
    工作记录关于只需要服务端向web端单向通知的技术SSE的技术落地总结最近有个需求是关于消息的单向通知,原本考虑用websocket,但是技术经理认为太重,建议采用SSE.查阅相关技术后结合实际业务需要新建了一个工具类@Component@Slf4jpublicclassSSEUtils{privatefinalMap<......
  • Windows的Gitlab Runner搭配的PowerShell脚本:推送包到NuGet仓库
    简介GitlabRunner在Windows上运行之后,我们在.gitlab-ci.yml中编写script语句,思路和Linux是一样。但是考虑到Windows的特点,为了让程序员少接触一些知识点,以及给未来执行作业的时候预留更多的操作空间。简单说就是未来修改执行作业时候的逻辑,但是每个软件仓库根目录下的.gitlab-ci......
  • 小说爬虫-02 爬取小说详细内容和章节列表 推送至RabbitMQ 消费ACK确认 Scrapy爬取 SQL
    代码仓库代码我已经上传到Github,大家需要的可以顺手点个Star!https://github.com/turbo-duck/biquge_fiction_spider背景介绍上一节已经拿到了每个小说的编码:fiction_code,并且写入了数据库表。接下来,我们写一个小工具,将数据表中的数据,都推送到RabbitMQ中。为了保......