gorush - A push notification server written in Go (Golang).

  •        382

A push notification micro server using Gin framework written in Go (Golang).

  • Support Firebase Cloud Messaging using go-fcm library for Android.
  • Support HTTP/2 Apple Push Notification Service using apns2 library.
  • Support YAML configuration.
  • Support command line to send single Android or iOS notification.
  • Support Web API to send push notification.
  • Support graceful restart & zero downtime deploy using facebook grace.
  • Support HTTP/2 or HTTP/1.1 protocol.
  • Support notification queue and multiple workers.
  • Support /api/stat/app show notification success and failure counts.
  • Support /api/config show your YAML config.
  • Support store app stat to memory, Redis, BoltDB, BuntDB or LevelDB.
  • Support p12 or pem formtat of iOS certificate file.
  • Support /sys/stats show response time, status code count, etc.
  • Support for HTTP proxy to Google server (FCM).
  • Support retry send notification if server response is fail.
  • Support expose prometheus metrics.
  • Support install TLS certificates from Let's Encrypt automatically.
  • Support send notification through RPC protocol, we use gRPC as default framework.

https://github.com/appleboy/gorush

Tags
Implementation
License
Platform

   




Related Projects

ANE-Push-Notification - Air Native Extension (iOS and Android) for Push Notification

  •    Java

This is an Air native extension for sending push notifications on iOS and Android. It has been developed by FreshPlanet and is used in the game SongPop. On iOS devices, this ANE uses Apple Push Notification Services. On Android devices, it uses Google Cloud Messaging (GCM).

pushd - Blazing fast multi-protocol mobile and web push notification service

  •    CoffeeScript

Pushd is a pluggable unified push server for server-side notification to mobile native apps, web apps etc. With pushd you can send push notifications to any supported mobile platform, web app or HTTP server from a single entry point. Pushd takes care of which device is subscribed to which event and is designed to support an unlimited amount of subscribable events.At first launch, your app must register with the push notification service to get a registration id. It then provides this registration id to pushd in exchange for a subscriber id (This subscriber id will be used with all further communications with pushd). Some informations can be sent with the request to pushd like: subscriber language, version or current badge value.

gaurun - General push notification server in Go

  •    Go

Gaurun is a general push notification server written in Golang. It proxies push requests to APNs and GCM/FCM and asynchronously executes them via HTTP/2. It helps you when you need to bulkly sends push notification to your users (e.g., when you need to exec 10 million push at once!) or when some other API server which must response quickly needs to push. Since it leverages Golang's powerful concurrent feature, it gives high performance.In addition to performance, it's important not to lost pushes over sever crashes or hardware failures. Gaurun can use its access log for kind of transaction journal and can re-push only failed notification later (We provide a special command for this. See Usage).

APNS/2- ⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for Go

  •    Go

APNS/2 is a go package designed for simple, flexible and fast Apple Push Notifications on iOS, tvOS, OSX and Safari using the new HTTP/2 Push provider API.

OneSignal-iOS-SDK - OneSignal is a free push notification service for mobile apps

  •    Objective-C

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your native iOS app with OneSignal. See OneSignal's iOS Native SDK Setup Guide for documentation.


SmartPush - SmartPush,一款iOS苹果远程推送测试程序,Mac OS下的APNS工具APP,iOS Push Notification Debug App

  •    Objective-C

SmartPush,一款iOS苹果远程推送测试程序,Mac OS下的APNS工具APP,iOS Push Notification Debug App

react-native-onesignal - React Native Library for OneSignal Push Notifications Service

  •    Objective-C

OneSignal is a free push notification service for mobile apps. This SDK makes it easy to integrate your native React-Native iOS and/or Android apps with OneSignal. See the Setup Guide for setup instructions.

react-native-push-notification - React Native Local and Remote Notifications

  •    Java

NOTE: For Android, you will still have to manually update the AndroidManifest.xml (as below) in order to use Scheduled Notifications. Having a problem? Read the troubleshooting guide before raising an issue.

react-native-message-bar - A notification bar alert displayed at the top of the screen for react-native

  •    Javascript

A message bar notification component displayed at the top of the screen for React Native (Android and iOS) projects. Please note, if you do not provide a alertType, the info one will be chosen for you.

NWPusher - OS X and iOS application and framework to play with the Apple Push Notification service (APNs)

  •    Objective-C

Or simply include the source files you need. NWPusher has a modular architecture and does not have any external dependencies, so use what you like. Testing push notifications for your iOS or Mac app can be a pain. You might consider setting up your own server or use one of the many push webservices online. Either way it's a lot of work to get all these systems connected properly. When it is all working properly, push notifications come in fast (< 1 sec) and reliably. However when nothing comes in, it can be very hard to find out why.

cordova-plugin-fcm - Google FCM Push Notifications Cordova Plugin

  •    Objective-C

Extremely easy plug&play push notification plugin for Cordova applications with Google Firebase FCM. Make sure you have ‘google-services.json’ for Android or ‘GoogleService-Info.plist’ for iOS in your Cordova project root folder. You don´t need to configure anything else in order to have push notification working for both platforms, everything is magic.

Toast-PhoneGap-Plugin - :beers: A Toast popup plugin for your fancy Cordova app

  •    C++

This plugin allows you to show a native Toast (a little text popup) on iOS, Android and WP8. It's great for showing a non intrusive native notification which is guaranteed always in the viewport of the browser.

Knuff - The debug application for Apple Push Notification Service (APNs).

  •    Objective-C

The debug application for Apple Push Notification Service (APNs). We created an iOS companion app to make it even easier to get up and running with APNs, download it from the App Store.

INDANCSClient - Objective-C Apple Notification Center Service Client

  •    Objective-C

This is an Objective-C client and server implementation of the Apple Notification Center Service (ANCS) specification. This allows Bluetooth LE devices to connect to an iOS device running iOS 7 or later and receive all push/local notifications. I made this because it was a great way to learn the ins and outs of Core Bluetooth and because the idea of wirelessly receiving notifications from an iOS device is way cool.

node-gcm - A NodeJS wrapper library port to send data to Android devices via Google Cloud Messaging

  •    Javascript

By April 11, 2019 users must have migrated from GCM to FCM. If you are using this library, we've already got you covered on the server side (since version 0.14.1) --- just update to the most recent version and you are good. We appreciate all the help we can get! If you want to help out, check out the Guidelines for Contributing section.

buford - A push notification delivery engine for the new HTTP/2 APNS service.

  •    Go

Apple Push Notification (APN) Provider library for Go 1.6 and HTTP/2. Send remote notifications to iOS, macOS, tvOS and watchOS. Buford can also sign push packages for Safari notifications and Wallet passes. Please see releases for updates.

RocketMQ - Distributed messaging and streaming data platform

  •    Java

Apache RocketMQ is a distributed messaging and streaming platform with low latency, high performance and reliability, trillion-level capacity and flexible scalability.

RMessage - A crisp in-app notification/message banner built in Swift.

  •    Swift

Welcome to RMessage! RMessage is a simple notification library written in Swift to help you display notification on the screen. Many many customization options are available such as what position of the screen to present in, what colors should be applied to the title, body, background, etc, etc. There are many customizable properties and they can be viewed at the RMessageSpec protocol definition in the RMessageSpec file. Note: RMessage now requires iOS 11.0 and Swift 4.1. So be sure you are ok with not supporting devices below these targets when using RMessage. If you aren't ready to commit to these version of iOS yet feel free to use RMessage 2.x.x until you can.

PyFCM - Python client for FCM - Firebase Cloud Messaging (Android, iOS and Web)

  •    Python

Firebase Cloud Messaging (FCM) is the new version of GCM. It inherits the reliable and scalable GCM infrastructure, plus new features. GCM users are strongly recommended to upgrade to FCM. Using FCM, you can notify a client app that new email or other data is available to sync. You can send notifications to drive user reengagement and retention. For use cases such as instant messaging, a message can transfer a payload of up to 4KB to a client app.

node-pushserver - Cross-platform push notifications server.

  •    Javascript

Push Server is a cross-plateform push server based on node-apn and node-gcm. Push Server currently supports iOS (APN) and android (GCM) platforms. It uses mongoDB to store the push tokens. Note that this server is not meant to be used as a front facing server as there's no particular security implemented. See MongoDB (MongoDB Download page).