产品简介
shove Shove是一个用Go编写的异步推送通知服务,支持APNS、FCM、Web Push、Telegram和Email。它通过Redis队列实现持久化,减少服务耦合,适合需要高效、可靠通知推送的后端开发者和企业。
核心功能
- 异步推送,支持火并遗忘模式
- 多平台支持,包括APNS、FCM、Web Push、Telegram和Email
- 持久化队列,可使用Redis确保消息不丢失
- 自动速率限制和消息摘要,避免服务过载
- 反馈机制,异步接收无效设备令牌
快速开始
- 下载Shove二进制文件或从源代码编译
- 配置参数并启动服务器,例如运行 `shove -api-addr localhost:8322 -queue-redis redis://redis:6379`
- 使用curl或API调用发送推送通知,例如 `curl -i --data '...' http://localhost:8322/api/push/apns`
界面预览
与其他方案对比
| 对比项 | 本工具 | 同类商业软件 | 在线服务 |
|---|---|---|---|
| 费用 | 开源免费 | 通常收费或含广告 | 可能有订阅或上传限制 |
| 隐私 | 本地运行,数据自持 | 依赖厂商政策 | 需上传数据到服务器 |
| 可定制性 | 源码开放,社区活跃 | 受限于官方功能 | 功能固定 |
适合谁用
- 需要处理iOS和Android推送的移动应用开发者
- 构建微服务架构并需要解耦通知服务的后端工程师
- 需要发送Telegram和Email通知的企业运维人员
下载与版本
当前最新版本为 main,发布于 。支持 Windows、macOS、Linux。
⚠️ 注意:本项目仅提供源代码下载,不包含可直接运行的安装包(exe/dmg/apk 等。下载后需要自行编译构建才能使用,适合有一定开发经验的用户。如果你不熟悉编译流程,建议寻找同类开箱即用的替代方案。
注意事项
- 本工具仅供学习和研究使用,请遵守相关法律法规。
- 请尊重内容创作者版权,勿将下载内容用于商业或非法传播。
- 项目源码地址:https://github.com/pennersr/shove