Matrix: Difference between revisions
Added Tensor, assigned (almost) each of the clients their language |
Added new clients and servers, updated client feature data, added Stoat to apps with bridges |
||
| (10 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}} | {{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 | ||
!Lifecycle | !Lifecycle | ||
!Active | !Active | ||
| Line 18: | Line 18: | ||
|- | |- | ||
|[[Element]] | |[[Element]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 30: | Line 28: | ||
|- | |- | ||
|[[Element X]] | |[[Element X]] | ||
|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]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 54: | Line 58: | ||
|- | |- | ||
|[[FluffyChat]] | |[[FluffyChat]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 66: | Line 68: | ||
|- | |- | ||
|[[SchildiChat]] | |[[SchildiChat]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 78: | Line 78: | ||
|- | |- | ||
|[[SchildiChat Next]] | |[[SchildiChat Next]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
|{{ | |{{Partial}} | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
| Line 89: | Line 87: | ||
| | | | ||
|- | |- | ||
|[[ | |[[Tammy]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 97: | Line 93: | ||
|{{Na}} | |{{Na}} | ||
|{{Na}} | |{{Na}} | ||
|{{ | |{{Ya}} | ||
| | |Kotlin | ||
| | | | ||
|- | |- | ||
|[[ | |[[Faraday]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
|{{Na}} | |{{Na}} | ||
|{{ | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
|Kotlin | |Kotlin | ||
| Line 114: | Line 108: | ||
|- | |- | ||
|[[chatrix]] | |[[chatrix]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 121: | Line 113: | ||
|{{Na}} | |{{Na}} | ||
|{{Na}} | |{{Na}} | ||
|{{ | |{{Na}} | ||
|TypeScript | |TypeScript | ||
| | | | ||
|- | |- | ||
|[[Ement.el]] | |[[Ement.el]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 138: | Line 128: | ||
|- | |- | ||
|[[matrix-commander]] | |[[matrix-commander]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 150: | Line 138: | ||
|- | |- | ||
|[[matrix-commander-rs]] | |[[matrix-commander-rs]] | ||
|Mature | |Mature | ||
|{{Ya}} | |{{Ya}} | ||
| Line 159: | Line 145: | ||
|{{Ya}} | |{{Ya}} | ||
|Rust | |Rust | ||
| | | | ||
|- | |- | ||
|[[NeoChat]] | |[[NeoChat]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 186: | Line 158: | ||
|- | |- | ||
|[[Nheko]] | |[[Nheko]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 198: | Line 168: | ||
|- | |- | ||
|[[Quaternion]] | |[[Quaternion]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 208: | Line 176: | ||
|C++ | |C++ | ||
|Qt5 | |Qt5 | ||
|- | |||
|[[Extera Next]] | |||
|Beta | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Ya}} | |||
|Dart | |||
|Flutter | |||
|- | |- | ||
|[[kazv]] | |[[kazv]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 222: | Line 198: | ||
|- | |- | ||
|[[Fractal]] | |[[Fractal]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 234: | Line 208: | ||
|- | |- | ||
|[[chatty]] | |[[chatty]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 243: | Line 215: | ||
|{{Ya}} | |{{Ya}} | ||
|C | |C | ||
| | |||
|- | |||
|[[polycule]] | |||
|Beta | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Partial}} | |||
|{{Na}} | |||
|{{Ya}} | |||
|Dart | |||
| | | | ||
|- | |- | ||
|[[iamb]] | |[[iamb]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 258: | Line 238: | ||
|- | |- | ||
|[[gomuks]] | |[[gomuks]] | ||
|Beta | |Beta | ||
|{{Ya}} | |{{Ya}} | ||
| Line 267: | Line 245: | ||
|{{Ya}} | |{{Ya}} | ||
|Go | |Go | ||
| | |||
|- | |||
|[[Neoment]] | |||
|Beta | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Na}} | |||
|{{Ya}} | |||
|{{Na}} | |||
|Lua | |||
| | | | ||
|- | |- | ||
|[[Commet]] | |[[Commet]] | ||
|Alpha | |Alpha | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
|{{ | |{{Partial}} | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
| Line 282: | Line 268: | ||
|- | |- | ||
|[[gotktrix]] | |[[gotktrix]] | ||
|Alpha | |Alpha | ||
|{{Ya}} | |{{Ya}} | ||
| Line 294: | Line 278: | ||
|- | |- | ||
|[[mnotify]] | |[[mnotify]] | ||
|Alpha | |Alpha | ||
|{{Ya}} | |{{Ya}} | ||
| Line 305: | Line 287: | ||
| | | | ||
|- | |- | ||
|[[ | |[[Watch The Matrix]] | ||
|Alpha | |Alpha | ||
|{{Ya}} | |{{Ya}} | ||
| Line 314: | Line 294: | ||
|{{Na}} | |{{Na}} | ||
|{{Na}} | |{{Na}} | ||
| | |Swift | ||
| | | | ||
|- | |- | ||
|[[ | |[[Moment]] | ||
|Alpha | |Alpha | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
|{{Na}} | |{{Na}} | ||
|{{Ya}} | |||
|{{Na}} | |{{Na}} | ||
|QML | |||
| | |||
|- | |||
|[[Mages]] | |||
|Alpha | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Na}} | |{{Na}} | ||
|{{Ya}} | |||
|{{Ya}} | |||
|Kotlin | |||
|Compose | |||
|- | |||
|[[Mactrix]] | |||
|Alpha | |||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Na}} | |||
|{{Ya}} | |||
|{{Ya}} | |||
|Swift | |Swift | ||
|SwiftUI | |||
|- | |||
|[[MinesTRIX]] | |||
| | | | ||
|{{Ya}} | |||
|{{Ya}} | |||
|{{Na}} | |||
|{{Na}} | |||
|{{Na}} | |||
|Dart | |||
|Flutter | |||
|- | |- | ||
|[[Commune]] | |[[Commune]] | ||
| | | | ||
|{{Ya}} | |{{Ya}} | ||
| Line 338: | Line 344: | ||
|{{Ya}} | |{{Ya}} | ||
|{{Ya}} | |{{Ya}} | ||
|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]] | ||
| | | | ||
|{{Na}} | |{{Na}} | ||
| Line 351: | Line 395: | ||
|{{Na}} | |{{Na}} | ||
|C++ | |C++ | ||
| | |||
|- | |||
|[[Hydrogen]] | |||
| | |||
|{{Na}} | |||
|{{Ya}} | |||
|{{Na}} | |||
|{{Na}} | |||
|{{Ya}} | |||
|TypeScript | |||
| | | | ||
|- | |- | ||
|[[Syphon]] | |[[Syphon]] | ||
| | | | ||
|{{Na}} | |{{Na}} | ||
| Line 364: | 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 | |||||||
| Element X | Beta | |||||||
| Element Classic | Mature | |||||||
| Cinny | Mature | TypeScript | ||||||
| FluffyChat | Mature | Dart | ||||||
| SchildiChat | Mature | Kotlin | ||||||
| SchildiChat Next | Beta | – | Kotlin | |||||
| Tammy | Mature | Kotlin | ||||||
| Faraday | Mature | Kotlin | ||||||
| chatrix | Mature | TypeScript | ||||||
| Ement.el | Mature | Emacs Lisp | ||||||
| matrix-commander | Mature | Python | ||||||
| matrix-commander-rs | Mature | Rust | ||||||
| NeoChat | Beta | C++ | Qt | |||||
| Nheko | Beta | C++ | Qt5 | |||||
| Quaternion | Beta | C++ | Qt5 | |||||
| Extera Next | Beta | Dart | Flutter | |||||
| kazv | Beta | QML | ||||||
| Fractal | Beta | Rust | GTK4 | |||||
| chatty | Beta | C | ||||||
| polycule | Beta | – | Dart | |||||
| iamb | Beta | Rust | ||||||
| gomuks | Beta | Go | ||||||
| Neoment | Beta | Lua | ||||||
| Commet | Alpha | – | Dart | |||||
| gotktrix | Alpha | Go | GTK4 | |||||
| mnotify | Alpha | Rust | ||||||
| Watch The Matrix | Alpha | Swift | ||||||
| Moment | Alpha | QML | ||||||
| Mages | Alpha | Kotlin | Compose | |||||
| Mactrix | Alpha | Swift | SwiftUI | |||||
| MinesTRIX | Dart | Flutter | ||||||
| Commune | JavaScript | Svelte | ||||||
| Quadrix | TypeScript | |||||||
| chooj | TypeScript | |||||||
| Mirage | QML | |||||||
| Extera | TypeScript | |||||||
| Tensor | C++ | |||||||
| Hydrogen | TypeScript | |||||||
| Syphon | Dart | Flutter | ||||||
| Spectral | C++ | |||||||
| Miitrix | 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 | AGPL-3.0 or later | Python | |
| Synapse Pro | Stable | Element Commercial Licence | Rust, Python | |
| continuwunity | Stable | Apache-2.0 | Rust | |
| Tuwunel | Stable | Apache-2.0 | Rust | |
| Conduit | Beta | Apache-2.0 | Rust | |
| Dendrite | Beta | AGPL-3.0-only or Element Commercial Licence | Go | |
| Telodendria | Alpha | MIT | C | |
| Construct | BSD | C++ | ||
| Transform | Apache-2.0 | TypeScript | ||
| Pallium | Apache-2.0 | Go | ||
| Matrex | MIT | Elexir | ||
| Maelstrom | Apache-2.0 or MIT | Rust | ||
| Dendron | Apache-2.0 | Go | ||
| Ligase | AGPL-3.0-only | Go | ||
| jSynapse | Apache-2.0 | Java | ||
| conduwuit | Apache-2.0 | Rust | ||
| mxhsd | AGPL-3.0 or later | Java | ||
| bullettime | 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: