# HG changeset patch # User florob@babelmonkeys.de # Date 1387136282 0 # Node ID 6c4444345eea61fcb43e8f626b559961faa103c0 # Parent f26be0f12027c05c70f0d693d52e34800ffffece Edited wiki page mod_websocket through web user interface. diff -r f26be0f12027 -r 6c4444345eea mod_websocket.wiki --- a/mod_websocket.wiki Fri Dec 13 15:35:00 2013 +0000 +++ b/mod_websocket.wiki Sun Dec 15 19:38:02 2013 +0000 @@ -1,28 +1,34 @@ #summary Simple XMPP-over-websocket support -#labels Stage-Alpha +#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. - -In our case it is interesting to tunnel XMPP over !WebSockets, as an alternative to e.g. BOSH, !WebSockets having less overhead. +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. -Note that the XMPP over !WebSocket specification has not been finalized, and is still evolving. There are few XMPP libraries capable of !WebSockets, among them: +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 master] + * [https://github.com/strophe/strophejs strophe.js >= 1.1.0] * [https://github.com/legastero/stanza.io stanza.io] = Usage = -Simply add mod_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. +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. -A cross_domain_websocket option is supported. -Set it to true to enable cross-domain requests from all websites, +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|| \ No newline at end of file