A full blown XMPP server based on https://github.com/node-xmpp/node-xmpp with modules
JavaScript
Switch branches/tags
Nothing to show
Latest commit 98736d0 Jun 10, 2014 @srajbr srajbr Merge pull request #12 from srajbr/patch-1
User authentication
Permalink
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
.gitignore
LICENSE Using MIT to match node-xmpp change Dec 4, 2011
README.markdown
config.default.js
package.json
xmpp-server.js improved logging and adding websocket config Mar 21, 2012

README.markdown

xmpp-server

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!

Installation

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

Running

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

Trying

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

TODO

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

Dependencies