2015-05-02 01:21:25 +02:00
|
|
|
.. raw:: html
|
|
|
|
|
|
|
|
<div id="banner"><a href="https://github.com/jcbrand/converse.js/blob/master/docs/source/features.rst">Edit me on GitHub</a></div>
|
|
|
|
|
2014-12-07 00:53:17 +01:00
|
|
|
========
|
|
|
|
Features
|
|
|
|
========
|
|
|
|
|
2017-10-31 23:04:46 +01:00
|
|
|
Open chats via URL
|
|
|
|
==================
|
|
|
|
|
|
|
|
From version 3.3.0, converse.js now has the ability to open chats (private or
|
|
|
|
groupchat) based on the URL fragment.
|
|
|
|
|
|
|
|
A room (aka groupchat) can be opened with a URL fragment such as `#converse/room?jid=room@domain`
|
|
|
|
and a private chat with a URL fragment such as
|
|
|
|
`#converse/chat?jid=user@domain`.
|
|
|
|
|
2014-12-07 00:53:17 +01:00
|
|
|
Off-the-record encryption
|
|
|
|
=========================
|
|
|
|
|
2018-06-01 09:17:18 +02:00
|
|
|
Converse supports `Off-the-record (OTR) <https://otr.cypherpunks.ca/>`_
|
2014-12-07 00:53:17 +01:00
|
|
|
encrypted messaging.
|
|
|
|
|
|
|
|
The OTR protocol not only **encrypts your messages**, it provides ways to
|
|
|
|
**verify the identity** of the person you are talking to,
|
|
|
|
**plausible deniability** and **perfect forward secrecy** by generating
|
|
|
|
new encryption keys for each conversation.
|
|
|
|
|
2017-09-03 22:12:17 +02:00
|
|
|
In its current state, JavaScript cryptography is fraught with dangers and
|
2014-12-07 00:53:17 +01:00
|
|
|
challenges that make it impossible to reach the same standard of security that
|
|
|
|
is available with native "desktop" software.
|
|
|
|
|
|
|
|
This is due to its runtime malleability, the way it is "installed" (e.g.
|
|
|
|
served) and the browser's lack of cryptographic primitives needed to implement
|
|
|
|
secure crypto.
|
|
|
|
|
2017-09-03 22:12:17 +02:00
|
|
|
For harsh but fairly valid criticism of JavaScript cryptography, read:
|
|
|
|
`JavaScript Cryptography Considered Harmful <http://www.matasano.com/articles/javascript-cryptography/>`_.
|
2014-12-07 00:53:17 +01:00
|
|
|
|
2018-06-01 09:17:18 +02:00
|
|
|
To get an idea on how this applies to OTR support in Converse, please read
|
2014-12-07 00:53:17 +01:00
|
|
|
`my thoughts on it <https://opkode.com/media/blog/2013/11/11/conversejs-otr-support>`_.
|
|
|
|
|
|
|
|
For now, suffice to say that although its useful to have OTR support in
|
2018-06-01 09:17:18 +02:00
|
|
|
Converse in order to avoid most eavesdroppers, if you need serious
|
2014-12-07 00:53:17 +01:00
|
|
|
communications privacy, then you're much better off using native software.
|
|
|
|
|
2016-03-01 10:43:44 +01:00
|
|
|
Notifications
|
|
|
|
=============
|
2014-12-07 00:53:17 +01:00
|
|
|
|
2018-06-01 09:17:18 +02:00
|
|
|
From version 0.8.1 Converse can play a sound notification when you receive a
|
2014-12-07 00:53:17 +01:00
|
|
|
message.
|
|
|
|
|
2016-03-01 10:43:44 +01:00
|
|
|
For more info, refer to the :ref:`play-sounds` configuration setting.
|
|
|
|
|
|
|
|
It can also show `desktop notification messages <https://developer.mozilla.org/en-US/docs/Web/API/notification>`_
|
|
|
|
when the browser is not currently visible.
|
|
|
|
|
|
|
|
For more info, refer to the :ref:`show-desktop-notifications` configuration setting.
|
2014-12-07 00:53:17 +01:00
|
|
|
|
|
|
|
Multilingual Support
|
|
|
|
====================
|
|
|
|
|
2018-06-01 09:17:18 +02:00
|
|
|
Converse is translated into multiple languages. Translations are supplied in
|
|
|
|
JSON format and are loaded on demand. Converse will expect to find the
|
|
|
|
translations in the ``/locales`` path of your site. This can be changed via the
|
|
|
|
:ref:`locales-url` configuration setting.
|
2014-12-07 00:53:17 +01:00
|
|
|
|
2018-02-09 11:55:53 +01:00
|
|
|
Moderating chatrooms
|
|
|
|
====================
|
2014-12-07 00:53:17 +01:00
|
|
|
|
2018-02-09 11:55:53 +01:00
|
|
|
Here are the different commands that may be used to moderate a chatroom:
|
2014-12-07 00:53:17 +01:00
|
|
|
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| Event Type | When is it triggered? | Example (substitue $nickname with an actual user's nickname) |
|
|
|
|
+============+==============================================================================================+===============================================================+
|
2018-02-09 11:55:53 +01:00
|
|
|
| **ban** | Ban a user from the chatroom. They will not be able to join again. | /ban $nickname |
|
2014-12-07 00:53:17 +01:00
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
2018-02-09 11:55:53 +01:00
|
|
|
| **clear** | Clear the messages shown in the chatroom. | /clear |
|
2014-12-07 00:53:17 +01:00
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
2015-11-05 12:30:31 +01:00
|
|
|
| **deop** | Make a moderator a normal occupant. | /deop $nickname [$reason] |
|
2014-12-07 00:53:17 +01:00
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| **help** | Show the list of available commands. | /help |
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| **kick** | Kick a user out of a room. They will be able to join again. | /kick $nickname [$reason] |
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| **me** | Speak in the 3rd person. | /me $message |
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| **mute** | Remove a user's ability to post messages to the room. They will still be able to observe. | /mute $nickname [$reason] |
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| **nick** | Change your nickname. | /nick $nickname |
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
2015-11-05 12:30:31 +01:00
|
|
|
| **op** | Make a normal occupant a moderator. | /op $nickname [$reason] |
|
2014-12-07 00:53:17 +01:00
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
2018-02-09 11:55:53 +01:00
|
|
|
| **topic** | Set the topic of the chatroom. | /topic ${topic text} |
|
2014-12-07 00:53:17 +01:00
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
|
|
|
| **voice** | Allow a muted user to post messages to the room. | /voice $nickname [$reason] |
|
|
|
|
+------------+----------------------------------------------------------------------------------------------+---------------------------------------------------------------+
|
2016-11-03 15:38:29 +01:00
|
|
|
|
|
|
|
Passwordless login with client certificates
|
|
|
|
===========================================
|
|
|
|
|
2018-06-01 09:17:18 +02:00
|
|
|
Converse supports the SASL-EXTERNAL authentication mechanism, which can be
|
2016-11-03 15:38:29 +01:00
|
|
|
used together with x509 client certificates to enable passwordless login or
|
|
|
|
even 2-factor authentication.
|
|
|
|
|
|
|
|
For more info, `read this blog post <https://opkode.com/blog/strophe_converse_sasl_external/>`_.
|