Gotify搭建你的消息推送系统

 更新时间:2024年01月03日 09:09:11   作者:爱吃麻酱爱吃咸 测试指北  
这篇文章主要介绍了Gotify搭建你的消息推送系统,今天要分享的是 gotify,是一个用 go 编写的消息服务端,有需要的朋友可以借鉴参考下,希望能够有所帮助

gotify简介

通过消息推送,我们可以实时的获取有效的信息。比如结果,验证码以及一些重要的通知场景等。今天要分享的是 gotify,是一个用 go 编写的消息服务端,也有客户端,通过 gotify 我们可以简单的进行收发消息。gotify的 地址将会在文末展示。

gotify 支持的功能

  • 可以通过 restapi 发送消息
  • 可以通过 websocket 接收消息
  • 可以管理用户和客户端以及应用程序
  • 只会插件
  • 有 web ui 页面
  • 有用于发送消息的 cli (命令行页面)
  • 支持 android 系统 不支持 ios

今天我们来介绍一下,常规的 gotify 如何安装以及使用。前提条件是需要一台有公网的服务器来部署 gotify-server 以及安装好 docker-compose。话不多说,我们直接开搞

安装 gotify-server

在你的服务器上创建一个目录,在目录里面执行 vim docker-compose.yml ,然后在 yml 文件里复制以下内容

version: "3"
services:
  gotify:
    image: gotify/server
    ports:
      - 80:80  #可以自定义要映射的端口
    environment:
      - GOTIFY_DEFAULTUSER_PASS=customer  #你的管理员密码  管理员账号admin
    volumes:
      - "./gotify_data:/app/data"

在当前目录执行 docker-compose up -d 。当容器启动后,我们直接在浏览器上输入 http://ip:port 来访问。如果无法打开前台,请检查防火墙相关配置。输入管理员账号和密码后。gotify-server 就搭建完成了。

在首页,点击 app,然后新建一个 APP,记好 token,这个是我们后续重要的凭证。

到这一步,gotify-server 的基础配置就已经完成了。搭建完之后我们最好进行反向代理,通过域名的方式来访问,这里只是作为演示就不反代了。你可以使用 npm、宝塔、或者 certbot 来进行反代,在这里就不再多介绍了。

接着我们就需要安装 gotify-android 了

安装 gotify-android

  • 访问 https://github.com/gotify/android/releases/download/v2.7.1/Gotify.apk 我们将这个 apk 下载好,在要接收消息的 android 手机上安装即可。安装包仅仅 5.8MB

安装好后启动 app,我们输入对应的 server 地址,以及用户名和密码,然后登录就行

到这一步,我们要接收消息的客户端也安装好了。

发送消息测试

这是官方的 curl 示例。我们只需要在一个终端环境发送 curl 请求即可。

curl "https://push.example.de/message?token=CgwhLcjxGQSkzdd" -F "title=my title" -F "message=my message" -F "priority=5"

 将对应的域名,token,以及想发送的标题,内容都替换成自己的即可。这里要注意的是 token 是 app 的 token,而不是 client 的 token 发送成功之后,app 内就会收到最新的消息,而且也会收到对应的消息 push。

总体而言,gotify 是一个比较简单易用的推送消息服务器,上手简单,值得推荐

地址:https://gotify.net/

以上就是Gotify搭建你的消息推送系统的详细内容,更多关于Gotify搭建消息推送系统的资料请关注脚本之家其它相关文章!

相关文章

  • Go路由注册方法详解

    Go路由注册方法详解

    Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高,但启动服务器时需要显式指定,后者使用全局默认的http.DefaultServeMux,适合简单场景,感兴趣的朋友跟随小编一起看看吧
    2025-02-02
  • Go语言中nil判断引起的问题详析

    Go语言中nil判断引起的问题详析

    这篇文章主要给大家介绍了关于Go语言中nil判断引起问题的相关资料,nil 是Go语言中一个预定义好的标识符,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2021-06-06
  • Go web入门Go pongo2模板引擎

    Go web入门Go pongo2模板引擎

    这篇文章主要为大家介绍了Go web编程入门Go pongo2模板引擎使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Go语言判断文件或文件夹是否存在的方法

    Go语言判断文件或文件夹是否存在的方法

    这篇文章主要介绍了Go语言判断文件或文件夹是否存在的方法,结合具体实例形式对比分析了Go语言针对文件与目录判断的操作技巧与相关注意事项,需要的朋友可以参考下
    2017-05-05
  • Golang连接PostgreSQL基本操作的实现

    Golang连接PostgreSQL基本操作的实现

    PostgreSQL是常见的免费的大型关系型数据库,本文主要介绍了Golang连接PostgreSQL基本操作的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Go 语言使用goroutine运行闭包踩坑分析

    Go 语言使用goroutine运行闭包踩坑分析

    这篇文章主要介绍了Go 语言使用goroutine运行闭包踩坑解决分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-11-11
  • Golang实现Json转结构体的示例详解

    Golang实现Json转结构体的示例详解

    这篇文章主要为大家详细介绍了Golang实现Json转结构体的方法,文中的示例代码讲解详细,对学习Go语言有一定的帮助,需要的可以参考一下
    2023-02-02
  • Golang共享变量如何解决问题

    Golang共享变量如何解决问题

    协程之间的通信只能够通过通道。但是我们习惯于共享变量,而且很多时候使用共享变量能让代码更简洁。那么Golang共享变量如何解决问题,感兴趣的可以了解一下
    2021-12-12
  • golang 生成定单号的操作

    golang 生成定单号的操作

    这篇文章主要介绍了golang 生成定单号的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go 热加载之fresh详解

    Go 热加载之fresh详解

    这篇文章主要为大家介绍了Go 热加载之fresh详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08

最新评论