view mod_websocket.wiki @ 421:87df2ef1ee59

Update docs to explain about prosodyctl usage, and add the lastlog_stamp_offline option (thanks kdex)
author MWild1@gmail.com
date Wed, 22 Jan 2014 02:29:02 +0000
parents f57c49ef23ec
children ff097d886420
line wrap: on
line source

#summary Simple XMPP-over-websocket support
#labels Stage-Beta

= Introduction =

[http://en.wikipedia.org/wiki/WebSocket WebSockets] is a new protocol for providing web pages with simple two-way communication with a web server.
This module allows browsers to communicate with Prosody via XMPP over !WebSockets.
This usually has less overhead then using [https://prosody.im/doc/modules/mod_bosh BOSH].
Note that the [https://tools.ietf.org/html/draft-ietf-xmpp-websocket XMPP over !WebSocket specification] has not been finalized yet, and is still evolving.

There are many JavaScript XMPP libraries capable of utilizing !WebSockets, among them:
  * [https://github.com/sonnyp/lightstring Lightstring]
  * [https://github.com/strophe/strophejs strophe.js >= 1.1.0]
  * [https://github.com/legastero/stanza.io stanza.io]

= Usage =

Simply add {{{"websocket"}}} to your {{{modules_enabled}}} list, as you would any other module. The repository includes a demo websocket.html file to show connecting to the socket. It doesn't perform any XMPP.

To allow requests that would normally break the Same-Origin policy, the {{{cross_domain_websocket}}} option can be used.
Set it to {{{true}}} to enable cross-domain requests from all websites,
or specify a list like
{{{
cross_domain_websocket = { "http://jabber.org", "http://prosody.im" };
}}}

If encryption is provided by a HTTP proxy Prosody won't be able to see this, and consider the connection insecure (consequently forbidding some authentication mechanisms). In this case Prosody can be told to always consider !WebSocket connections secure by setting
{{{
consider_websocket_secure = true;
}}}

= Compatibility =
||0.9||Works||
||< 0.9||Not supported||