通过消息推送,我们可以实时的获取有效的信息。比如结果,验证码以及一些重要的通知场景等。 今天要分享的是gotify,是一个用go编写的消息服务端,也有客户端,通过gotify我们可以简单的进行收发消息。github地址将会在文末展示。
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是一个比较简单易用的推送消息服务器,上手简单,值得推荐。
创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。