• Stars
    star
    211
  • Rank 185,824 (Top 4 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created over 13 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An ejabberd component to handle XMPP over Websockets

This repo is not maintained and most of the code in here is probably deprecated.

Websocket Module for Ejabberd

This is a module that adds websocket support for the ejabberd XMPP server. It's a more elegant, modern and faster replacement to Bosh.

It is an implementation of the XMPP Over Websocket Draft proposed by Jack Moffitt and Eric Cstari. The Websocket implementation is based on this draft specification.

**You need to use the apt version of ejabberd, as the binary install comes with an old version of erlang. **

Install

Build

./build.sh

Install

cp ebin/*.beam /path/to/ejabberd/lib/ebin/

Configure

In the listeners section add the following line:

{5288, ejabberd_websocket, [{request_handlers, [{["ws-xmpp"], mod_websocket}]}]},

Make sure you also add this line in the Modules

{mod_websocket, []}

Usage

Just connect to the websocket using your browser's API, and send your XMPP traffic over it.

You may find it convenient to use directly Strophejs as it's a full XMPP library in Javascript. However, you will have to use this branch for now, as it adds support for websocket, as the underlying protocol (instead of Bosh).

To setup a connection : // WS_SERVICE should be http://host.tld:5288/ws-xmpp, based on the configuration you chose. connection = new Strophe.Connection({protocol: new Strophe.Websocket(WS_SERVICE) });

TODO

The most 'urgent' thing to do is to provide fallback mechanisms in this module. For example, support for socket.io would be amazing, as erlang has its own implementation. Feel free to fork and make it better!

Thank you

Sponsored by Superfeedr. Special thanks to Nathan for his awesome work, Jack for his help.

License

See License.markdown.

More Repositories

1

indexeddb-backbonejs-adapter

An indexedDB adapter for Backbonejs
JavaScript
248
star
2

xmpp-server

A full blown XMPP server based on https://github.com/node-xmpp/node-xmpp with modules
JavaScript
211
star
3

subtome

A universal Subscribe/Follow button.
JavaScript
164
star
4

superpipes

Superfeedr powered pipes!
JavaScript
134
star
5

superfeedr-ruby

Ruby Client for Superfeedr.com, based on Babylon
Ruby
64
star
6

news-bot

This is a news bot which uses Superfeedr's API to send and receive RSS notifications.
JavaScript
53
star
7

notifixlight

Defunct RSS to IM bot, powered by Google App Engine. Check Notifix for a better replacement!
Python
48
star
8

feediscovery

Feed discovery to share :)
Python
40
star
9

rack-superfeedr

A gem that provides a rack middleware to interract with Superfeedr's API.
Ruby
38
star
10

superfeedr-node

A library to interract with Superfeedr's XMPP API in any node application
JavaScript
31
star
11

superfeedr-python

Superfeedr API Wrapper in Python
Python
25
star
12

popular-feeds

Various Lists of Popular feeds curated by Superfeedr and team :)
21
star
13

river.news

A river of news application implemented in React which uses Superfeedr for its backend
JavaScript
18
star
14

documentation

The Superfeedr Documentation
HTML
15
star
15

ChitChatRooms

A small Chat Application on Google App Engine with file exchange and XMPP integration
Python
15
star
16

superfeedr-engine

A Superfeedr engine for Ruby on Rails. Handles notifications for you.
Ruby
12
star
17

feender

A module that's able to extract feed urls from any url.
JavaScript
11
star
18

pubsubjubhub

A PubSubHubbub subscriber in Javascript
Python
11
star
19

readernews

A Superfeedr API retrieve demo as a React application
JavaScript
9
star
20

node-relmeauth

A rel=me auth middleware implementation in node.js. Works with any connect-type web application
JavaScript
9
star
21

superfeedr-pshb

PubSubHubbub API wrapper for Superfeedr
JavaScript
8
star
22

superfeedr-jquery

A Jquery plugin to access Superfeedr's retrieve API
JavaScript
7
star
23

node-feediscovery

A wrapper around http://feediscovery.appspot.com/
JavaScript
6
star
24

superfeedr-hapi

A module for Hapi.js Node.js web server
JavaScript
6
star
25

superfeedr-node-sample

This is a sample application to show how you can use node-superfeedr on Heroku!
JavaScript
4
star
26

feedbox

A dropbox for RSS feeds
HTML
4
star
27

angular-superfeedr

An Angular Provider which wraps the Superfeedr HTTP API
4
star
28

feediscovery-rb

A ruby gem for http://feediscovery.appspot.com/
Ruby
3
star
29

supergrover

A Superfeedr to Grove.io brigde hosted on Heroku.
JavaScript
2
star
30

webhooks-test

An app to test Github's webhhoks!
1
star
31

superfeedr-rb

A Superfeedr API library written on top of Blather
Ruby
1
star
32

superfeedr-publisher-callback

Publisher Callback Sample Application
Python
1
star
33

blog.superfeedr.com

http://blog.superfeedr.com
1
star
34

superfeedr-connect-middleware

PuSH & Superfeedr middleware for Node.js (Connect/Express)
JavaScript
1
star