gaurun - General push notification server in Go

  •        52

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).

https://github.com/mercari/gaurun

Tags
Implementation
License
Platform

   




Related Projects

APNS/2- ⚡ HTTP/2 Apple Push Notification Service (APNs) push provider for 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.

APNS-Sharp - Apple Push Notification & Feedback Services Client C# Library


I've recently started a new project called PushSharp. Its goal is to combine APNS-Sharp as well as C2DM-Sharp into a single project. It takes some of the same great code from APNS-Sharp, and still allows you to easily send push notifications, but it also includes an optional abstraction layer for sending notifications to multiple platforms. Please go check it out. Once PushSharp is a bit more mature, this project will be deprecated. For now I will not be adding any major new functionality to this library.A free, open source, independent and mono compatible C#/.NET Library for interacting with Apple's Push Notification & Feedback Services for the iPhone/iPod.

node-pushserver - Cross-platform push notifications server.


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).

apnotic - A Ruby APNs HTTP/2 gem able to provide instant feedback.


Apnotic is a gem for sending Apple Push Notifications using the HTTP-2 specifics. If you have used the previous Apple Push Notification specifications you may have noticed that it was hard to know whether a Push Notification was successful or not. It was a common problem that has been reported multiple times. In addition, you had to run a separate Feedback service to retrieve the list of the device tokens that were no longer valid, and ensure to purge them from your systems.


PushSharp - A server-side library for sending Push Notifications to iOS (iPhone/iPad APNS), Android (C2DM and GCM - Google Cloud Message), Windows Phone, Windows 8, Amazon, Blackberry, and (soon) FirefoxOS devices!


PushSharp v3.0+ is a complete rewrite of the original library, aimed at taking advantage of things like async/await, HttpClient, and generally a better infrastructure using lessons learned from the old code.PushSharp will now follow semver versioning, so major version numbers will go up as there are any breaking api changes.

PushServer - nodejs server for sending Apple APNS push notifications


A nodejs server that runs on heroku for sending Apple APNS push notifications. Uses mongodb to store device token information and subscribed channel lists.

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


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.

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


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.

RMSPushNotificationsBundle - Push notifications/messages for mobile devices


A bundle to allow sending of push notifications to mobile devices. Currently supports Android (C2DM, GCM), Blackberry and iOS devices. NOTE: If you are still using Symfony 2.0, please use the symfony2.0 branch.

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


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).

python-gcm - Python client for Google Cloud Messaging for Android (GCM)


See examples directory for more usage details, including error handling.

apns - A Golang package for sending Apple Push Notifications and using the Feedback Service.


Utilities for Apple Push Notification and Feedback Services. Your output will differ if the service returns device tokens.

gcm - A gem that helps developers send data from ruby backend servers to their Mobile applications on devices via Google Cloud Messaging (GCM)


The GCM gem lets your ruby backend send notifications to Android and iOS devices via Google Cloud Messaging. An Android device running 2.3 (or newer) or an iOS device and an API key as per GCM getting started guide.

PyAPNs - Python library for interacting with the Apple Push Notification service (APNs)


Python library for interacting with the Apple Push Notification service (APNs)

Orbiter - Push Notification Registration for iOS


For most iOS client / server applications, push notifications are negotiated through an intermediary service provider, such as Urban Airship. The service provider exposes APIs to register a device token, as well as APIs to send push notifications to devices meeting some specified criteria. Orbiter is a small library that provides simple interfaces to register (and unregister) for Push Notifications with Urban Airship (without needing to include their SDK), as well as Helios apps.

pushproxy - A man-in-the-middle proxy for iOS and OS X device push connections


PushProxy is a man-in-the-middle proxy for iOS and OS X Push Notifications. It decodes the push protocol and outputs messages in a readable form. It also provides APIs for handling messages and sending push notifications directly to devices without sending them via Apple's infrastructure. For a reference on the push protocol, see apple-push-protocol-ios5-lion.md. iOS4 and earlier used another version of the protocol, described in apple-push-protocol-ios4.md. This proxy only supports the iOS5 protocol.

django-ios-notifications - Django iOS Notifications makes it easy to send push notifications to iOS devices


Django iOS Notifications makes it easy to send push notifications to iOS devices. You must configure south by adding the following lines to your settings file.





We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.