view mod_websocket.wiki @ 408:6c4444345eea

Edited wiki page mod_websocket through web user interface.
author florob@babelmonkeys.de
date Sun, 15 Dec 2013 19:38:02 +0000
parents 421d0865f89d
children f57c49ef23ec
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 [http://tools.ietf.org/html/draft-ietf-xmpp-over-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||