gorush is a push notification server written in Go.
The tool addresses the need to send push notifications across multiple mobile platforms through a single unified interface. It works by exposing a REST API and command-line interface that accept notification payloads and route them to the appropriate platform-specific services: Apple Push Notification service for iOS, Firebase Cloud Messaging for Android, and Huawei Mobile Services for Huawei devices. The server is built on the Gin web framework and handles the complexity of platform-specific authentication and message formatting internally.
Developers should choose gorush if they need a lightweight, self-hosted notification service that supports iOS, Android, and Huawei devices without vendor lock-in. It suits projects that want to centralize push notification logic in a dedicated microservice rather than embedding platform SDKs directly in application code. The tool offers multiple deployment options including Docker, Kubernetes, AWS Lambda, and Netlify Functions, making it adaptable to various infrastructure setups. It also provides a gRPC service interface alongside its REST API for different integration patterns.
The project shows consistent maintenance with regular updates addressing bug fixes and feature improvements. Development activity demonstrates responsiveness to user issues and pull requests. The codebase maintains stability while incorporating enhancements to support additional platforms and deployment scenarios.