Matrix

From LinuxReviews
Jump to navigationJump to search
Chat.png

Matrix is a lightweight free protocol for near real-time text and file based communication and, in theory but not practice, voice over IP and video telephony. The Matrix protocol is used by a network of servers who communicate and form a large chat network similar to Discord and IRC with public and private chat rooms where users can text-chat and share images, video clips and other files.

The Matrix protocol supports voice and video chat using WebRTC. Voice and video services are, in practice, not supported. The same is true for secure private messaging with end-to-end encryption.

The Protocol

Matrix aims to be a real-time communications protocol. There is, in practice, a noticeable and annoying delay between the time someone writes something on one matrix server and the time it shows up in the chat window of someone connected to another server.

Messages are shared between servers in the JSON format.

Client Software

A lot of Matrix development is, for some reason, focused on a web service called "Riot". Those who setup their own Matrix server using the synapse matrix server software can optionally setup a web service using Riot. Riot runs on node.js. The source is at github.com/vector-im/riot-web.

You will likely have to use the Riot web service to register an account on a server before you can use any desktop client. The desktop clients do have a "register" function - but it won't let you register an account. As an example, nheko will give you the option for opening a browser window to register a captcha when you try to register at most Matrix servers. Solving that captcha results in a message telling you to close the window and confirm that you solved it in nheko. Completing those steps will not actually register any account, something is broken[1].

Spectral is an alright desktop client for GNU/Linux desktops and laptops. It has a "Explore rooms" feature, which is nice. Major distributions do not have Spectral their repositories, nor do they have any other acceptable Matrix client available. Compiling Spectral is not that hard. You can either download the latest release from gitlab.com/spectral-im/spectral/-/releases or git clone https://gitlab.com/b0/spectral.git/ to acquire the source. See Spectral#Installation for further details.

nheko is a fine desktop client for Matrix. It does not have any built-in method of listing or exploring available rooms on a server or Matrix network. You will have to know what room(s) you want to join and/or the addresses of people you would like to talk to.

Server Software

The synapse matrix server software is the only mature and usable matrix server implementation. It is written in Python/Twisted and it requires a lot of RAM. It will by default listen on port 8448. You will need to use some kind of reverse proxy like nginx or apache in front of it.

Chat-rooms

Matrix rooms have addresses made up of #roomname:serverdomain.tld. A room can have aliases, the same room can have many names. All the names look like #roomname followed by : followed by the servers domain.

Most clients will let you join rooms on the local server by joining #roomname.

Public Servers

url software 白左 Code of Conduct open for signups country ISP info
allmende.io Synapse 1.9.0 no yes Germany Hetzner Online
converser.eu Synapse 1.9.0 no yes France Iliad Entreprises
feneas.org Synapse 1.9.0 no yes Finland (actually Germany) Hetzner Online
hackerspaces.be Synapse 1.2.1 no yes France OVH
junta.pl Synapse 1.9.0 no yes Poland ISTS
matrix.org / riot.im Synapse 1.9.0+ no yes Unknown Cloudflare Very over-crowded.
perthchat.org Synapse 1.9.0 no yes Australia Aussie Broadband
tedomum.net Synapse 1.7.3 no yes France Tiscali Telecom tedomum.net offers blogs, e-mail, mastodon and many other free software based services
tchncs.de Synapse 1.8.0 no yes Germany Contabo GmbH
chat.privacytools.io Synapse 1.9.0 yes yes France OVH
ru-matrix.org Synapse 1.8.0 no yes Russia unlisted
weho.st Synapse 1.7.1 no yes Netherlands Coloclue Wehost is a non-profit ISP

Issues To Be Aware Of

You can, in theory, start a chat with anyone using any Matrix server or invite them to a room on your local server. This is, in practice, not always true. Inviting someone on another server may or may not work depending on both the server and the client the other party is using. The Matrix network is not in a state where everything just works as expected.

Notes


avatar

Anonymous user #1

2 months ago
Score 0++
sounds like USENET on steroids...
Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.