Matrix: Difference between revisions

From Revolt Wiki
Add slogan
Added new clients and servers, updated client feature data, added Stoat to apps with bridges
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox Product|image=Matrix Logo.svg|website=https://matrix.org/|languages=Python, JavaScript, TypeScript, Go, Rust|repository=https://github.com/matrix-org|slogan="An open network for secure, decentralised communication"}}
{{Infobox Product|image=Matrix Logo.svg|website=https://matrix.org/|languages=Python, JavaScript, TypeScript, Go, Rust|repository=https://github.com/matrix-org|slogan="An open network for secure, decentralised communication"}}
Matrix is a federated protocol that supports end-to-end encryption.
Matrix is a federated protocol that supports end-to-end encryption. It was founded around September 2014 and was being funded by its parent company, Amdocs, up until October 2017. Matrix's manifest states that they believe people should have full control over their communication, they shouldn't be "locked into centralised communication silos...". The team behind Matrix also holds the point that having the ability to have conversations completely private and secure is a basic human right, and that it all needs to be free and open.


Below is a list of Matrix clients.
== Clients ==
 
To be able to communicate through Matrix, the user needs a client. The official client developed by the team behind Matrix is called [[Element]]. According to the description on their website, the client has all the notable features of the protocol, except for multi-account support. Below is a list of most Matrix clients known for now.


{| class="wikitable sortable"
{| class="wikitable sortable"
!Name
!Name
!Protocol
!Protocol Type
!Lifecycle
!Lifecycle
!Active
!Active
Line 18: Line 18:
|-
|-
|[[Element]]
|[[Element]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 30: Line 28:
|-
|-
|[[Element X]]
|[[Element X]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 37: Line 33:
|{{Na}}
|{{Na}}
|{{Na}}
|{{Na}}
|{{Ya}}
|
|
|-
|[[Element Classic]]
|Mature
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|
|
Line 42: Line 48:
|-
|-
|[[Cinny]]
|[[Cinny]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 54: Line 58:
|-
|-
|[[FluffyChat]]
|[[FluffyChat]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 66: Line 68:
|-
|-
|[[SchildiChat]]
|[[SchildiChat]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 78: Line 78:
|-
|-
|[[SchildiChat Next]]
|[[SchildiChat Next]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Partial}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|Kotlin
|Kotlin
|
|-
|[[Quadrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|
|
|-
|-
|[[Tammy]]
|[[Tammy]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 113: Line 97:
|
|
|-
|-
|[[Extera]]
|[[Faraday]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|Kotlin
|TypeScript
|
|
|-
|-
|[[chatrix]]
|[[chatrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 133: Line 113:
|{{Na}}
|{{Na}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Na}}
|TypeScript
|TypeScript
|
|
|-
|-
|[[Ement.el]]
|[[Ement.el]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 150: Line 128:
|-
|-
|[[matrix-commander]]
|[[matrix-commander]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 162: Line 138:
|-
|-
|[[matrix-commander-rs]]
|[[matrix-commander-rs]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Mature
|Mature
|{{Ya}}
|{{Ya}}
Line 171: Line 145:
|{{Ya}}
|{{Ya}}
|Rust
|Rust
|
|-
|[[Hydrogen]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|TypeScript
|
|
|-
|-
|[[NeoChat]]
|[[NeoChat]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 198: Line 158:
|-
|-
|[[Nheko]]
|[[Nheko]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 210: Line 168:
|-
|-
|[[Quaternion]]
|[[Quaternion]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 220: Line 176:
|C++
|C++
|Qt5
|Qt5
|-
|[[Extera Next]]
|Beta
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|Dart
|Flutter
|-
|-
|[[kazv]]
|[[kazv]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 234: Line 198:
|-
|-
|[[Fractal]]
|[[Fractal]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 246: Line 208:
|-
|-
|[[chatty]]
|[[chatty]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 255: Line 215:
|{{Ya}}
|{{Ya}}
|C
|C
|
|-
|[[polycule]]
|Beta
|{{Ya}}
|{{Ya}}
|{{Partial}}
|{{Na}}
|{{Ya}}
|Dart
|
|
|-
|-
|[[iamb]]
|[[iamb]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 270: Line 238:
|-
|-
|[[gomuks]]
|[[gomuks]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Beta
|Beta
|{{Ya}}
|{{Ya}}
Line 279: Line 245:
|{{Ya}}
|{{Ya}}
|Go
|Go
|
|-
|[[Neoment]]
|Beta
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Na}}
|Lua
|
|
|-
|-
|[[Commet]]
|[[Commet]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Partial}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
Line 294: Line 268:
|-
|-
|[[gotktrix]]
|[[gotktrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
Line 306: Line 278:
|-
|-
|[[mnotify]]
|[[mnotify]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
Line 317: Line 287:
|
|
|-
|-
|[[chooj]]
|[[Watch The Matrix]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
Line 326: Line 294:
|{{Na}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|Swift
|
|
|-
|-
|[[Watch The Matrix]]
|[[Moment]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|Alpha
|Alpha
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Na}}
|QML
|
|-
|[[Mages]]
|Alpha
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Ya}}
|Kotlin
|Compose
|-
|[[Mactrix]]
|Alpha
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|{{Ya}}
|Swift
|Swift
|SwiftUI
|-
|[[MinesTRIX]]
|
|
|{{Ya}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|Dart
|Flutter
|-
|-
|[[Commune]]
|[[Commune]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|
|
|{{Ya}}
|{{Ya}}
Line 352: Line 346:
|JavaScript
|JavaScript
|Svelte
|Svelte
|-
|[[Quadrix]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|
|-
|[[chooj]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|TypeScript
|
|-
|[[Mirage]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Na}}
|QML
|
|-
|[[Extera]]
|
|{{Na}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|{{Ya}}
|TypeScript
|
|-
|-
|[[Tensor]]
|[[Tensor]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|
|
|{{Na}}
|{{Na}}
Line 363: Line 395:
|{{Na}}
|{{Na}}
|C++
|C++
|
|-
|[[Hydrogen]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Ya}}
|TypeScript
|
|
|-
|-
|[[Syphon]]
|[[Syphon]]
|[https://matrix.org/docs/guides/introduction Matrix protocol]
|Federated
|
|
|{{Na}}
|{{Na}}
Line 376: Line 416:
|Dart
|Dart
|Flutter
|Flutter
|-
|[[Spectral]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Ya}}
|{{Na}}
|C++
|
|-
|[[Miitrix]]
|
|{{Na}}
|{{Ya}}
|{{Na}}
|{{Na}}
|{{Na}}
|C++
|
|}
== Instances ==
Instances are the servers on which the user data is stored. The official Matrix instance is situated at '''matrix.org''', but any user can host their own using server software provided on the website.
== Servers ==
{| class="wikitable sortable"
!Name
!Lifecycle
!Active
!Licence
!Language
|-
|Synapse
|Stable
|{{Ya}}
|AGPL-3.0 or later
|Python
|-
|[https://element.io/server-suite/synapse-pro Synapse Pro]
|Stable
|{{Ya}}
|Element Commercial Licence
|Rust, Python
|-
|continuwunity
|Stable
|{{Ya}}
|Apache-2.0
|Rust
|-
|Tuwunel
|Stable
|{{Ya}}
|Apache-2.0
|Rust
|-
|Conduit
|Beta
|{{Ya}}
|Apache-2.0
|Rust
|-
|Dendrite
|Beta
|{{Ya}}
|AGPL-3.0-only or Element Commercial Licence
|Go
|-
|Telodendria
|Alpha
|{{Ya}}
|MIT
|C
|-
|Construct
|
|{{Na}}
|BSD
|C++
|-
|Transform
|
|{{Na}}
|Apache-2.0
|TypeScript
|-
|Pallium
|
|{{Na}}
|Apache-2.0
|Go
|-
|Matrex
|
|{{Na}}
|MIT
|Elexir
|-
|Maelstrom
|
|{{Na}}
|Apache-2.0 or MIT
|Rust
|-
|Dendron
|
|{{Na}}
|Apache-2.0
|Go
|-
|Ligase
|
|{{Na}}
|AGPL-3.0-only
|Go
|-
|jSynapse
|
|{{Na}}
|Apache-2.0
|Java
|-
|conduwuit
|
|{{Na}}
|Apache-2.0
|Rust
|-
|mxhsd
|
|{{Na}}
|AGPL-3.0 or later
|Java
|-
|bullettime
|
|{{Na}}
|Apache-2.0
|Go
|-
|}
|}
== Integrations ==
The Matrix protocol has a system of bots and widgets that add unique features, thus enhancing user experience. Users can browse the available integrations on Matrix's website and install them on their instance by following the instructions from the repository page of the integration.
== Bridges ==
Matrix provides official bridges for XMPP, [[Gitter]], [[Slack]], [[Mattermost]], and IRC. The community provides bridges for the following services:
* [[Discord]]
* Signal
* Telegram
* WhatsApp
* Facebook Messenger
* iMessage
* Google Chat
* LinkedIn
* Instagram
* [[Mumble]]
* Twitter (formerly X)
* Skype
* SMS
* Email
* [[Zulip]]
* GroupMe
* WeChat
* QQ
* KakaoTalk
* Line
* '''Stoat'''

Latest revision as of 15:03, 29 March 2026


Matrix is a federated protocol that supports end-to-end encryption. It was founded around September 2014 and was being funded by its parent company, Amdocs, up until October 2017. Matrix's manifest states that they believe people should have full control over their communication, they shouldn't be "locked into centralised communication silos...". The team behind Matrix also holds the point that having the ability to have conversations completely private and secure is a basic human right, and that it all needs to be free and open.

Clients

To be able to communicate through Matrix, the user needs a client. The official client developed by the team behind Matrix is called Element. According to the description on their website, the client has all the notable features of the protocol, except for multi-account support. Below is a list of most Matrix clients known for now.

Name Lifecycle Active FOSS Voice Spaces E2EE Language Frameworks
Element Mature Yes Yes Yes Yes Yes
Element X Beta Yes Yes No No Yes
Element Classic Mature Yes Yes Yes Yes Yes
Cinny Mature Yes Yes No Yes Yes TypeScript
FluffyChat Mature Yes Yes Yes Yes Yes Dart
SchildiChat Mature Yes Yes Yes Yes Yes Kotlin
SchildiChat Next Beta Yes Yes Yes Yes Kotlin
Tammy Mature Yes Yes No No Yes Kotlin
Faraday Mature Yes Yes No Yes Yes Kotlin
chatrix Mature Yes Yes No No No TypeScript
Ement.el Mature Yes Yes No Yes No Emacs Lisp
matrix-commander Mature Yes Yes No No Yes Python
matrix-commander-rs Mature Yes Yes No No Yes Rust
NeoChat Beta Yes Yes No Yes Yes C++ Qt
Nheko Beta Yes Yes Yes Yes Yes C++ Qt5
Quaternion Beta Yes Yes No No No C++ Qt5
Extera Next Beta Yes Yes Yes Yes Yes Dart Flutter
kazv Beta Yes Yes No No Yes QML
Fractal Beta Yes Yes No No Yes Rust GTK4
chatty Beta Yes Yes No No Yes C
polycule Beta Yes Yes No Yes Dart
iamb Beta Yes Yes No Yes Yes Rust
gomuks Beta Yes Yes No No Yes Go
Neoment Beta Yes Yes No Yes No Lua
Commet Alpha Yes Yes Yes Yes Dart
gotktrix Alpha Yes Yes No No No Go GTK4
mnotify Alpha Yes Yes No No No Rust
Watch The Matrix Alpha Yes Yes No No No Swift
Moment Alpha Yes Yes No Yes No QML
Mages Alpha Yes Yes No Yes Yes Kotlin Compose
Mactrix Alpha Yes Yes No Yes Yes Swift SwiftUI
MinesTRIX Yes Yes No No No Dart Flutter
Commune Yes Yes No Yes Yes JavaScript Svelte
Quadrix No Yes No No No TypeScript
chooj No Yes No No No TypeScript
Mirage No Yes No Yes No QML
Extera No Yes Yes Yes Yes TypeScript
Tensor No Yes No No No C++
Hydrogen No Yes No No Yes TypeScript
Syphon No Yes No No Yes Dart Flutter
Spectral No Yes No Yes No C++
Miitrix No Yes No No No C++

Instances

Instances are the servers on which the user data is stored. The official Matrix instance is situated at matrix.org, but any user can host their own using server software provided on the website.

Servers

Name Lifecycle Active Licence Language
Synapse Stable Yes AGPL-3.0 or later Python
Synapse Pro Stable Yes Element Commercial Licence Rust, Python
continuwunity Stable Yes Apache-2.0 Rust
Tuwunel Stable Yes Apache-2.0 Rust
Conduit Beta Yes Apache-2.0 Rust
Dendrite Beta Yes AGPL-3.0-only or Element Commercial Licence Go
Telodendria Alpha Yes MIT C
Construct No BSD C++
Transform No Apache-2.0 TypeScript
Pallium No Apache-2.0 Go
Matrex No MIT Elexir
Maelstrom No Apache-2.0 or MIT Rust
Dendron No Apache-2.0 Go
Ligase No AGPL-3.0-only Go
jSynapse No Apache-2.0 Java
conduwuit No Apache-2.0 Rust
mxhsd No AGPL-3.0 or later Java
bullettime No Apache-2.0 Go

Integrations

The Matrix protocol has a system of bots and widgets that add unique features, thus enhancing user experience. Users can browse the available integrations on Matrix's website and install them on their instance by following the instructions from the repository page of the integration.

Bridges

Matrix provides official bridges for XMPP, Gitter, Slack, Mattermost, and IRC. The community provides bridges for the following services:

  • Discord
  • Signal
  • Telegram
  • WhatsApp
  • Facebook Messenger
  • iMessage
  • Google Chat
  • LinkedIn
  • Instagram
  • Mumble
  • Twitter (formerly X)
  • Skype
  • SMS
  • Email
  • Zulip
  • GroupMe
  • WeChat
  • QQ
  • KakaoTalk
  • Line
  • Stoat