A full blown XMPP server based on https://github.com/node-xmpp/node-xmpp with modules
Switch branches/tags
Nothing to show
Latest commit 98736d0 Jun 10, 2014 @srajbr srajbr Merge pull request #12 from srajbr/patch-1
User authentication
Failed to load latest commit information.
bin using utils instead of sys in users Dec 2, 2011
lib User authentication Jun 5, 2014
modules using the remoteAddress from the ws object as it takes X-Forwarded-Fo… Mar 21, 2012
test adding support for the ping XEP Mar 16, 2012
LICENSE Using MIT to match node-xmpp change Dec 4, 2011
xmpp-server.js improved logging and adding websocket config Mar 21, 2012



A full XMPP server using node-xmpp, with some modules. Feel free to fork this and configure all the modules you need in server.js This server uses Redis as its datastore.

Unfortunately, the lack of time is slowly killing this project. If you feel like saving it, please, go ahead, message us and we'll set you up as the owner!


Beware : this project is really early stage... There are a lot of things to fix :) Install it for fun or for help... but probably not for profit just yet!

  1. First, you need nodejs installed. Pre-compiled packages exist for Unix (Linux, BSD, Mac OS X) as explained in these instructions. Skip to 2. if you already have a working Node.JS environment.

  2. Then, you need npm installed. As in step 1, follow these instructions or skip to 3.

  3. Install redis (used to store the data). apt-get install redis-server should work just fine on most Ubuntus and Debians. On MacOS X redis can be installed e.g. with Homebrew: brew install redis

  4. Install xmpp-server, finally. With package manager npm:

npm install -g xmpp-server


TODO : automate this with a script that asks the right questions to the user when starting.

First, create a config file and place it at /etc/xmpp-server/config.js that includes the following (tls support is optional. You can follow the instructions there to create the key and certificate, and then uncomment the tls lines.):

    exports.config = {
        port: 5222, 
        domain: 'localhost',
        //tls: {
        //    keyPath: '/etc/xmpp-server/tls/localhost-key.pem',
        //    certPath: '/etc/xmpp-server/tls/localhost-cert.pem'

Then, run the server:

xmpp-server /etc/xmpp-server/config.js


There is a server running at ouvre-boite.com. You can certainly create an account there, but don't leave any valuable belongings as they will be trashed every couple hours :)


  • In-band registration
  • C2S
  • TLS
  • Digets Auth
  • Roster
  • Presence
  • Pass on global configuration to modules.