The goal of this project is to make XMPP really simple to use for developers. This module takes away all of the XML and works by hooking to events which are passed between client and server using a transport in JSON. In the example code we use socket.io, but there is no reason this can not be replaced with engine.io, or implement your own transport and pass in as a connection.
The examples on this site use primus to handle data transport and will attempt to use websockets before attempting to use alternative connection types.
Beginner and installation guides to come...
XMPP-FTW now protects users from stanza ID spoofing protection. For more information on this please see this discussion thread: Stanza ID spoofing on the jdev mailing list.
For this demo system we use Primus and Primus-Emitter plugin to handle the websocket connection.
With version 2.0.0 of Primus Emitter emit is no longer used on the socket object to send a message. Instead send is used. If using another websocket library please ensure that you have a send method (that replicates emit).
https://xmpp-ftw.jit.su is hosted for free by nodejitsu as part of their on-going commitment to open source software.
Nodejitsu is a great PaaS provider allowing you to very quickly and easily deploy nodejs apps online within minutes. Please show nodejitsu some ❤. For more details see opensource.jit.su.
Please click on the following links as appropriate:
XMPP-FTW is made up of a group of modules. The main XMPP-FTW module includes code for handling login/logout, presence, chat, and roster. In addition to this it also includes small amounts of code to handle common occurances in XMPP e.g. data forms (XEP-0004).
All other code is (or is in the process of being) broken into separate modules. The current status of the modules is listed below:
The main XMPP-FTW repo. Handles authentication, roster, presence, and chat. Includes small pieces of code that are seen frequently in XMPP (e.g. data form parsing)
Jabber RPC (XEP-0009) extension for XMPP-FTW
DISCO (XEP-0030) extension for XMPP-FTW
Multi User Chat/MUC (XEP-0045) extension for XMPP-FTW
Ad-Hoc Commands (XEP-0050) extension for XMPP-FTW
Jabber Search (XEP-0055) extension for XMPP-FTW
Publish-Subscribe / PubSub (XEP-0060) extension for XMPP-FTW
Verifying HTTP requests (XEP-0070) extension for XMPP-FTW
In-Band Registration (XEP-0077) extension for XMPP-FTW
User Avatar (XEP-0084) extension for XMPP-FTW
Jingle (XEP-0166) extension for XMPP-FTW
XMPP Ping (XEP-0199) extension for XMPP-FTW
Message Archive Management/MAM (XEP-0313) extension for XMPP-FTW
Superfeedr extension for XMPP-FTW
buddycloud extension for XMPP-FTW
Fanout.io extension for XMPP-FTW
There are also several smaller components which can be used seperately to XMPP-FTW which perform useful utility tasks. These are listed below:
An extension used for building and parsing commmon pubsub stanzas