All Projects → mrDoctorWho → ejabberd_mod_apns

mrDoctorWho / ejabberd_mod_apns

Licence: MIT License
An ejabberd module to send PUSH messages to iOS devices through APNS

Programming Languages

erlang
1774 projects

Projects that are alternatives of or similar to ejabberd mod apns

ejabberd mod gcm
Google Cloud Messaging API for Ejabberd (PUSH Messages)
Stars: ✭ 27 (-12.9%)
Mutual labels:  xmpp, push-notifications, jabber, ejabberd, push
mobile-messaging-sdk-ios
Mobile Messaging SDK for iOS
Stars: ✭ 45 (+45.16%)
Mutual labels:  push-notifications, apns, push
Socket.io Push
整合了小米,华为,友盟,谷歌,苹果推送的统一解决方案
Stars: ✭ 605 (+1851.61%)
Mutual labels:  push-notifications, apns, push
mod push appserver
Simple and extendable appserver for XMPP pushes (aka. XEP-0357)
Stars: ✭ 24 (-22.58%)
Mutual labels:  xmpp, push-notifications, apns
Notificationpusher
Standalone PHP library for easy devices notifications push.
Stars: ✭ 1,143 (+3587.1%)
Mutual labels:  push-notifications, apns, push
Swift Apns
Swift Framework for sending Apple Push Notification over HTTP/2 API
Stars: ✭ 147 (+374.19%)
Mutual labels:  push-notifications, apns, push
Ejabberd
Robust, Ubiquitous and Massively Scalable Messaging Platform (XMPP, MQTT, SIP Server)
Stars: ✭ 5,077 (+16277.42%)
Mutual labels:  xmpp, jabber, ejabberd
xabber-web
Open source XMPP client for Web
Stars: ✭ 117 (+277.42%)
Mutual labels:  xmpp, jabber
vacuum-im
Cross-platform XMPP client
Stars: ✭ 90 (+190.32%)
Mutual labels:  xmpp, jabber
andpush
Android Push Notification in Ruby: The fastest client for FCM (Firebase Cloud Messaging)
Stars: ✭ 83 (+167.74%)
Mutual labels:  push-notifications, push
Gunfish
No description or website provided.
Stars: ✭ 35 (+12.9%)
Mutual labels:  push-notifications, apns
isotoxin
Isotoxin source
Stars: ✭ 69 (+122.58%)
Mutual labels:  xmpp, jabber
ngx-chat
Angular XMPP Client & Chat UI
Stars: ✭ 30 (-3.23%)
Mutual labels:  xmpp, jabber
SharpXMPP
XMPP library for .NET/Xamarin/.NET Core
Stars: ✭ 17 (-45.16%)
Mutual labels:  xmpp, jabber
apns2
Node client for connecting to Apple's Push Notification Service using the new HTTP/2 protocol with JSON web tokens
Stars: ✭ 66 (+112.9%)
Mutual labels:  push-notifications, apns
xmpp
An implementation of the Extensible Messaging and Presence Protocol (XMPP) in Go.
Stars: ✭ 97 (+212.9%)
Mutual labels:  xmpp, jabber
hms-push-serverdemo-csharp
C# sample code encapsulates APIs of the HUAWEI Push Kit server. It provides many sample programs for your reference or usage.
Stars: ✭ 25 (-19.35%)
Mutual labels:  push-notifications, push
hms-react-native-plugin
This repo contains all of React-Native HMS plugins.
Stars: ✭ 167 (+438.71%)
Mutual labels:  push-notifications, push
aioapns
An efficient APNs Client Library for Python/asyncio
Stars: ✭ 60 (+93.55%)
Mutual labels:  push-notifications, apns
tigase-swift
(M) Tigase Swift XMPP client library
Stars: ✭ 53 (+70.97%)
Mutual labels:  xmpp, jabber

mod_apns

Fork Me Now! Spread the project for great good!

An ejabberd module to send offline messages as PUSH notifications for iOS.

Consider using mod_push which implements XEP-0357 and works with many PUSH services.

This module has nothing to do with XEP-0357 so far.

The main goal of this module is to send all offline messages to the registered (see Usage) clients via APNS.

Donate

Compilation:

Because of the dependencies such as xml.hrl, logger.hrl, etc it's recommended to compile the module with ejabberd itself: put it in the ejabberd/src directory and run the default compiler.

Configuration:

To let the module work fine with Apple Push Notification Service APIs, put these lines in the modules section:

mod_apns:
  address: "gateway.push.apple.com"
  port: 2195
  certfile: "cert.pem"
  keyfile: "key.pem"

You can use a password field in case if you have a password-protected certificate.

Usage (Client to server):

You need to send this stanza to the server over the XMPP connection, to let the server know your client token:

<iq to="YourServer" type="set">
  <register xmlns="https://apple.com/push" >
    <token>TOKEN</token>
  </register>
</iq>

The key will be kept in mnesia database and completely belong to the JabberID which it was sent from.

What it sends to APNS:

{
  "aps":
    {
      "alert": "Hello!",
      "sound": "default"
    }, 
  "source": "[email protected]",
  "destination":"[email protected]"
}

Compatibility:

The module works fine with recent ejabberd versions.

For the older ones, checkout the ejabberd14 and ejabberd16 branches.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].