An overview
2017-01-13
Wolfgang Silbermayr
Source code: https://gitlab.com/valug/matrix-chat-slides
License of the presentation: CC-BY-SA 4.0
/etc/apt/sources.list.d/riot.list
):deb https://riot.im/packages/debian/ <distribution> main
http://matrix.org/docs/projects/try-matrix-now.html
We focus on Riot, because is the most used and most feature-complete client.
"Matrix is an open standard for decentralised communication, providing simple HTTP APIs and open source reference implementations for securely distributing and persisting JSON over an open federation of servers." (from the Matrix website)
Voice (and video) over Matrix uses the WebRTC 1.0 standard to transfer call media (i.e. the actual voice and video traffic). Matrix is used to signal the establishment and termination of the call by sending call events, like any other event. Currently calls are only supported in rooms with exactly two participants - however, one of those participants may be a conferencing bridge. We’re looking at better ways to do group calling. (from the Matrix website FAQ)
Many clients are available, but Riot is currently the most advanced.
See https://matrix.org/docs/projects/try-matrix-now.html for the complete list.
The encryption is supported by Riot only. The WeeChat plugin has a preliminary implementation which is no longer compatible with the final specification.
See the interactive example on How does it work?.
TLS is used by default.
Matrix end-to-end encryption is called Megolm.
"The Megolm ratchet is intended for encrypted messaging applications where there may be a large number of recipients of each message, thus precluding the use of peer-to-peer encryption systems such as Olm.
It also allows a recipient to decrypt received messages multiple times. For instance, in client/server applications, a copy of the ciphertext can be stored on the (untrusted) server, while the client need only store the session keys."
Encryption is implemented in Riot since November 2016, so still very new. Several user-visible problems have occurred in real-world usage, and are being tackled down at the moment.
Bots appear normal users, but are running on the server. They can be added to a room from the client interface.
The matrix.org instance has a few bots installed:
Unlike bots, bridges are not real users. They need to be supported by the server instance.
The matrix.org instance has a few bridges installed:
The API documentation can be found on https://matrix.org/docs/spec/
Table of Contents | t |
---|---|
Exposé | ESC |
Full screen slides | e |
Presenter View | p |
Source Files | s |
Slide Numbers | n |
Toggle screen blanking | b |
Show/hide slide context | c |
Notes | 2 |
Help | h |