SkillAgentSearch skills...

Oshiya

an XEP-0357 compatible XMPP component

Install / Use

/learn @royneary/Oshiya
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

#Oshiya Oshyia is an app server for mobile XMPP clients as specified in XEP-0357. As such it receives push notification contents from those clients' XMPP servers and forwards them to the popular push notification services, e.g. APNS. It is implemented as XMPP component (see XEP-0114).

Clients can register using adhoc commands. Oshiya aims to be compatible with mod_push concerning commands and app server behaviour. This allows XEP-0357-compatible clients using mod_push's internal app server on an ejabberd server or, as an alternative, any XEP-0114-compatible server running Oshiya.

Oshiya is part of a GSoC 2015 project. Please send feedback.

##Features Oshiya will support these push services:

Currently only the GCM and APNS backends are usable. The Ubuntu backend is implemented but untested.

##Prerequisites

  • libcurl 7.28.0 or later
  • expat
  • cmake 2.8 or later

##Installation

git clone https://github.com/royneary/oshiya.git
cd oshiya
git submodule update --init --recursive
mkdir build
cd build
# the config file path and the data storage location can be configured using cmake options
cmake -DCONFIG_FILE="/etc/oshiya/oshiya.yml" -DSTORAGE_DIR="/var/run/oshiya/" ..
make
# no automatic file copying à la make install yet

##Configuration currently there's only an example config (mod_push's configuration is similar, see README.md over there):

components:
  -
    host: "push.chatninja.org"
    server_host: "xmpp1.chatninja.org"
    port: 5237
    password: "ABCDEF123456"
    pubsub_host: "pubsub.chatninja.org"
    backends:
      -
        type: gcm
        certfile: "/etc/ssl/chatninja.pem"
        app_name: "chatninja"
        auth_key: "sdfF73HFk_fdhj8JFjfzqALkdj81dfjhs0jdEkf"
      -
        type: ubuntu
        certfile: "/etc/ssl/chatninja.pem"
        app_name: "any"
  -
    host: "apple-push.chatninja.org"
    server_host: "xmpp2.chatninja.org"
    port: 5238
    password: "POIUZT987654"
    pubsub_host: "pubsub.chatninja.org"
    backends:
      -
        type: apns
        certfile: "/etc/ssl/chatninja_apns.pem"
        app_name: "chatninja"

##Pubsub service configuration The pubsub service is where the XMPP servers publish the push notification contents. It has to fulfill XEP-0357's requirements. Here is how ejabberd having mod_pubsub and mod_push installed can be configured:

mod_pubsub:
  host : "pubsub.chatninja.org"
  nodetree : "tree"
  plugins:
    - "push"

Related Skills

View on GitHub
GitHub Stars12
CategoryDevelopment
Updated3y ago
Forks3

Languages

C++

Security Score

75/100

Audited on Jun 27, 2022

No findings