Das Tool weechat ist ein textbasierter Chatclient, der eine Vielzahl an Funktionen mit sich bringt. Mithilfe externer Skripte erweitern Sie den Funktionsumfang sogar noch. So existiert beispielsweise mit "weechat-matrix" ein Skript, das den offenen Matrix-Standard für eine sichere und dezentrale Kommunikation unterstützt. Der Open-Source-Tipp in diesem Monat zeigt, wie einfach Sie mittels weechat auf das Matrix-Netzwerk zugreifen können.
Ein Problem beim Umstieg von IRC auf einen anderen Messaging-Dienst stellt oft die Benutzeroberfläche dar. Langjährige IRC-Benutzer sind es gewohnt beim Einsatz eines IRC-Clients den Fokus auf einen effektiven Datenaustausch zu legen. Die Standardanwendungen für Discord, Slack und Google Chat mit ihren Benutzeroberflächen sind nun allerdings genau das Gegenteil von dem, was Nutzer von einem IRC-Client gewohnt sind – auch aufgrund ihrer proprietären Lizenz.
Hier kommt das quelloffene Framework Matrix [1] ins Spiel. Dieses basiert auf offenen Standards zur sicheren und dezentralen Kommunikation über das Internet. Die Entwickler legen großen Wert auf die Interoperabilität mit anderen Plattformen und Systemen, sodass Sie mithilfe sogenannter Bridges Daten sogar mit anderen Diensten austauschen können. So existieren beispielsweise Anbindungen für Discord, Slack, Google Chat und einer Vielzahl weitere Dienste [2]. Auch der dezentrale Ansatz mit föderierten Benutzerkonten, wie ihn beispielsweise auch der Twitter-Konkurrent Mastodon verwendet, ist ein interessantes Feature. Hiermit sind Sie in der Lage, mit Benutzern unterschiedlicher Matrix-Instanzen zu kommunizieren.
Bundesmessenger setzt auf Matrix
Dank der offenen Standards und der dezentralen Kommunikation kommt das Framework sogar bei öffentlichen Stellen und Regierungen zum Einsatz. So verwendet beispielsweise der "Bundesmessenger" [3] Matrix als zugrundeliegendes Protokoll für eine sichere Kommunikation in der öffentlichen Verwaltung. Dabei steht der Bundesmessenger selbst natürlich auch für jedermann zum Download zur Verfügung. So existiert neben einer Web-App [4] sowohl eine App für iOS [5] als auch für Android [6].
Ein Problem beim Umstieg von IRC auf einen anderen Messaging-Dienst stellt oft die Benutzeroberfläche dar. Langjährige IRC-Benutzer sind es gewohnt beim Einsatz eines IRC-Clients den Fokus auf einen effektiven Datenaustausch zu legen. Die Standardanwendungen für Discord, Slack und Google Chat mit ihren Benutzeroberflächen sind nun allerdings genau das Gegenteil von dem, was Nutzer von einem IRC-Client gewohnt sind – auch aufgrund ihrer proprietären Lizenz.
Hier kommt das quelloffene Framework Matrix [1] ins Spiel. Dieses basiert auf offenen Standards zur sicheren und dezentralen Kommunikation über das Internet. Die Entwickler legen großen Wert auf die Interoperabilität mit anderen Plattformen und Systemen, sodass Sie mithilfe sogenannter Bridges Daten sogar mit anderen Diensten austauschen können. So existieren beispielsweise Anbindungen für Discord, Slack, Google Chat und einer Vielzahl weitere Dienste [2]. Auch der dezentrale Ansatz mit föderierten Benutzerkonten, wie ihn beispielsweise auch der Twitter-Konkurrent Mastodon verwendet, ist ein interessantes Feature. Hiermit sind Sie in der Lage, mit Benutzern unterschiedlicher Matrix-Instanzen zu kommunizieren.
Bundesmessenger setzt auf Matrix
Dank der offenen Standards und der dezentralen Kommunikation kommt das Framework sogar bei öffentlichen Stellen und Regierungen zum Einsatz. So verwendet beispielsweise der "Bundesmessenger" [3] Matrix als zugrundeliegendes Protokoll für eine sichere Kommunikation in der öffentlichen Verwaltung. Dabei steht der Bundesmessenger selbst natürlich auch für jedermann zum Download zur Verfügung. So existiert neben einer Web-App [4] sowohl eine App für iOS [5] als auch für Android [6].
Als Referenzimplementierung für all diese Anwendungen dient die Software Element [7] der Firma New Vector. Neben einer App für Mobilgeräte und das Web bietet das Unternehmen ebenfalls ein Hosting der Matrix-Serversoftware an [8]. Für einen ersten Einsteig in die Matrix-Welt ist daher auch empfehlenswert, mit der Webversion der Element-Tools anzufangen. Dies hilft ungemein, um einen ersten Eindruck von dem Netzwerk zu bekommen und erste Schritte in der neuen Welt zu tätigen.
Ungewohnte Umgebung
Für alte IRC-Hasen wird der Umstieg in die Matrix über die Element-Apps wahrscheinlich trotzdem ungewohnt sein. Wie auch Slack oder Discord verwendet Element das Electron-Framework [9] zur Entwicklung der Software. Dieses basiert auf Chromium und Node.js, was dabei hilft, die selbe Codebasis für unterschiedliche Plattformen einsetzen zu können. Der Nachteil besteht darin, dass die Software dadurch recht aufgebläht ist und viele grafische Funktionselemente besitzt. Wer es eher schlicht mag und einen funktionalen Textclient bevorzugt, wird mit Element langfristig wahrscheinlich nicht glücklich werden.
Doch es gibt eine Menge Alternativen – auch für das Terminal. Unter [10] finden Sie eine Übersicht der Clients für verschiedene Plattformen. An freien Tools sind hier besonders gomuks [11] und weechat-matrix [12] zu nennen. Während der in GO geschriebene gomuks-Client nur das Matrix-Protokoll unterstützt, handelt es sich bei weechat-matrix um ein Python-Skript, das Sie in den bekannten IRC-Client weechat [13] einbinden können.
Weechat für Terminal-Fans
Bei weechat handelt es sich eigentlich um einen textbasierten IRC-Client, den Sie durch das Einbinden von externen Skripten auch für andere Protokolle verwenden können. Somit ist es also möglich, neben IRC auch das Matrix-Netzwerk einzubinden. Durch den Einsatz von Bridges auf einem Matrix-Server haben Sie so zusätzlich die Möglichkeit, über viele unterschiedliche Messagingdienste zu kommunizieren. Dies ist sicherlich besonders für Anwender interessant, die gerne mit textbasierten Tools arbeiten und nicht für jeden Messagingdienst einen eigenen Client einsetzen wollen.
Der weechat-Client ist in den Software-Repositories der meisten Linux-Distributionen enthalten. Unter Fedora installieren Sie das Tool wie gewohnt mittels dnf install weechat. Alternativ können Sie die Software natürlich auch einfach von der weechat-Webseite [13] herunterladen und dann installieren.
Listing: weechat-matrix installieren
git clone https://github.com/poljar/weechat-matrix.git
cd weechat-matrix
virtualenv ~/.weechat/python/venv
source ~/.weechat/python/venv/bin/activate
pip install -r requirements.txt
make install
Python-Skript für Matrix-Zugriff
Damit Sie mit weechat auch auf einen Matrix-Server zugreifen können, benötigen Sie das bereits zuvor angesprochene weechat-matrix-Python-Skript [12]. Vor dessen Installation benötigen Sie allerdings noch die AES-basierte Crypto-Bibliothek OLM. Diese wird von Matrix für die Verschlüsselung der gesamten Kommunikation eingesetzt: dnf install libolm. Alternativ zu der Installation eines fertigen Paketes können Sie die Software natürlich auch wieder direkt aus einem GitHub-Repository [14] herunterladen und installieren.
Matrix-Anbindung herstellen
Die Installation des weechat-matrix-Skripts erfolgt wie im Listing-Kasten dargestellt. Möchten Sie das Skript systemweit für sämtliche User zur Verfügung stellen, lassen Sie einfach das Setup der virtuellen Umgebung für Python (Zeilen 3 und 4) weg.
Hat dies funktioniert, laden Sie das Skript nach dem Starten von weechat mit /script load matrix.py. Mithilfe des Befehls script list bestätigt Ihnen weechat schließlich, dass das Skript ab nun einsatzbereit ist. Um das manuelle Laden nicht bei jedem Starten von weechat immer wieder ausführen zu müssen, können Sie diesen Vorgang auch automatisieren, indem Sie einen Link auf das Skript aus dem "autoload"-Verzeichnis für Python-Skripte anlegen:
cd $HOME/.local/share/weechat/python/autoload
ln -s ../matrix.py
Abschließend können Sie nun aus weechat heraus auf den gewünschten Matrix-Server zugreifen. Hat dieser Bridges zu anderen Diensten eingerichtet, stehen Ihnen diese ab sofort ebenfalls zur Verfügung:
/matrix server add matrix_org matrix.org
/matrix connect matrix_org
Fazit
Matrix ist ein dezentrales und auf offenen Standards basierendes Kommunikations-Framework. Mithilfe von Bridges können Sie auch über den Tellerrand schauen und auf eine Vielzahl von anderen Diensten zugreifen. Mit weechat-matrix steht ein Python-Skript zur Verfügung, um aus dem textbasierten weechat-Tool auf das Matrix-Netzwerk zuzugreifen.