XMPP: Unterschied zwischen den Versionen
Bg3992 (Diskussion | Beiträge) |
Bg3992 (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
| (19 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Kurzbeschreibung == |
|||
==Ziel== |
|||
Ein föderierter, selbst betriebener, erweiterbarer Instant Messenger mit allen derzeitig üblichen Funktionen (Verschlüsselung, private und öffentliche Gruppen, Videotelefonie, Push-Nachrichten,...). |
|||
Außerdem: Multi-Client-Unterstützung mit freier Clientwahl (Apps für iOS/Android, Web, Linux/Windows/Mac, GUI/CLI) |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
* [[Benutzer:Geierb|Geierb]] |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
=== bingo-Mitglieder === |
|||
| ⚫ | |||
Der Benutzername ("JID") ist identisch zur Bingo-E-Mail-Adresse, das Passwort ist das Bingo-Passwort. |
|||
E-Mail-Aliase der Domains @bingo-ev.de und @bytewerk.org können ebenfalls als JIDs verwendet werden. |
E-Mail-Aliase der Domains @bingo-ev.de und @bytewerk.org können ebenfalls als JIDs verwendet werden. |
||
=== Nicht-bingo-Mitglieder === |
|||
| ⚫ | |||
Bingo-Mitglieder können im [https://dss.bingo-ev.de DSS] Einladungslinks erstellen und z.B. an Freunde und Bekannte weitergeben. Die Zugänge sind haben die Domain @ext.bingo-ev.de, Benutzername ("JID") und Passwort können frei gewählt werden. Die Zugänge sind völlig unabhängig vom bingo-Mitglied, das eingeladen hat. |
|||
| ⚫ | |||
== XMPP-Clients == |
|||
| ⚫ | |||
Zusätzlich gibt es auf https://xmpp.org/software/ eine filterbare Übersicht aller relevanten XMPP-Clients. |
|||
Auf xmpp.bytewerk.org ist ein Webclient verfügbar: [https://xmpp.bytewerk.org/conversejs-bingo#converse/room?jid=bingo-users@conference.bingo-ev.de https://xmpp.bytewerk.org/conversejs-bingo] |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
* Invites (nur Domain ext.bingo-ev.de) |
|||
| ⚫ | |||
Dateien und Chatverläufe werden nach einem Monat vom Server gelöscht. |
|||
== Chaträume == |
== Chaträume == |
||
=== Grunsätzlich === |
|||
Jeder kann nach Belieben Chaträume anlegen. |
Jeder kann nach Belieben Chaträume anlegen. |
||
| Zeile 27: | Zeile 49: | ||
=== Badges === |
=== Badges === |
||
Badges für öffentliche Chaträume können über https:// |
Badges für öffentliche Chaträume können über <nowiki>https://xmpp.bytewerk.org/muc_badge/</nowiki><MUC-JID> abgerufen werden. |
||
Beispiele: |
Beispiele: |
||
* Das Badge für [xmpp:bytewerk@conference.bytewerk.org bytewerk@conference.bytewerk.org] kann über die URL https:// |
* Das Badge für [xmpp:bytewerk@conference.bytewerk.org bytewerk@conference.bytewerk.org] kann über die URL https://xmpp.bytewerk.org/muc_badge/bytewerk@conference.bytewerk.org abgerufen werden und sieht so aus: [[Datei:XMPP-Bytewerk-Badge.png|rahmenlos|caption]] |
||
* Das Badge für [xmpp:bingo-users@conference.bingo-ev.de bingo-users@conference.bingo-ev.de] kann über die URL https:// |
* Das Badge für [xmpp:bingo-users@conference.bingo-ev.de bingo-users@conference.bingo-ev.de] kann über die URL https://xmpp.bytewerk.org/muc_badge/bingo-users@conference.bingo-ev.de abgerufen werden und sieht so aus: [[Datei:XMPP-Bingo-Badge.png|rahmenlos|caption]] |
||
=== IRC-Chat === |
=== IRC-Chat === |
||
Zum Betreten eines IRC-Chats einfach einen Gruppenchat mit dem Muster '''#CHANNEL%SERVER@ |
Zum Betreten eines IRC-Chats einfach einen Gruppenchat mit dem Muster '''#CHANNEL%SERVER@irc.xmpp.bytewerk.org''' anlegen/beitreten. |
||
Beispiel: |
'''Beispiel:''' |
||
Um den Channel '''#pypy''' auf '''irc.libera.chat''' zu besuchen, einen neuen Chat mit der Adresse '''#pypy%irc.libera.chat@ |
Um den Channel '''#pypy''' auf '''irc.libera.chat''' zu besuchen, einen neuen Chat mit der Adresse '''#pypy%irc.libera.chat@irc.xmpp.bytewerk.org''' starten. |
||
| ⚫ | |||
| ⚫ | |||
Sollten die Nachrichten des IRC-Servers stören: Diesen einfach als Gesprächspartner blockieren. |
Sollten die Nachrichten des IRC-Servers stören: Diesen einfach als Gesprächspartner blockieren. |
||
== |
== Hinweise == |
||
Die freie Clientwahl, die Möglichkeit, mit mehreren Clients gleichzeitig verbunden zu sein, und die föderierte Struktur mit Nutzern von verschiedenen Servern, ist für viele neue Nutzer zunächst ungewohnt: |
|||
| ⚫ | |||
| ⚫ | Die bei der Kommunikation mit einem bestimmten Gesprächspartner zur Verfügung stehenden Funktionen ergeben sich aus der Schnittmenge des Funktionsumfangs der beteiligten XMPP-Server und der XMPP-Clients. Konkret: Ist mein Gesprächspartner ein Shellskript, das mir eine Nachricht schickt wenn die Waschmaschine fertig ist, dann werde ich mit diesem kein Videotelefonat führen können. |
||
=== Webclients === |
|||
Auf xmpp.bytewerk.org ist Converse.js installiert: |
|||
* [https://xmpp.bytewerk.org/conversejs-bingo XMPP-Webclient für @bingo-ev.de-Nutzer] |
|||
* [https://xmpp.bytewerk.org/conversejs-bytewerk XMPP-Webclient für @bytewerk.org-Nutzer] |
|||
| ⚫ | Bei der gleichzeitigen Verwendung von mehreren Clients gilt: Eine Nachricht gilt als zugestellt, wenn sie an EINEM Client des Empfängers angekommen ist. Bei wackeliger Internetverbindung kann es so aussehen, als ob Nachrichten verschluckt worden wären - sie sind aber nur bei dem Clients gelandet, der gerade online ist. XMPP-Clients prüfen beim Wieder-Online-Gehen, ob in der Zwischenzeit Nachrichten eingetroffen sind. Es geht also nichts verloren, die Nachricht kommt nur später. |
||
Grundsätzlich kann sich jeder XMPP-Nutzer an jedem XMPP-Webclient anmelden. Je nach URL werden nur ein paar Voreinstellungen passend zur Domain gesetzt um die Benutzung von Converse.js zu erleichtern. |
|||
Bei Gruppenchats kann man sich in jeder Gruppe einen eigenen Nickname geben. |
|||
=== Sonstige === |
|||
In '''Thunderbird''' ist ein sehr einfacher Client (nur Text) integriert ("Konten" -> "Chat-Konto" hinzufügen). |
|||
| ⚫ | |||
Für '''Nextcloud''' gibt es mit der [https://apps.nextcloud.com/apps/ojsxc ojsxc-App] einen sehr gut ausgestatteten webbasierten Client. |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
=== Übersicht === |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
=== Die Kosten der Freiheit === |
|||
| ⚫ | |||
| ⚫ | |||
Beispiel: Ist mein Gesprächspartner ein Shellskript, das mir eine Nachricht schickt wenn die Waschmaschine fertig ist, dann werde ich mit diesem kein Videotelefonat führen können, selbst wenn es mein XMPP-Client und der Server unterstützt. |
|||
| ⚫ | |||
| ⚫ | |||
Ebenso ist undefiniert, was passiert, wenn ein Videoanruf gestartet werden soll, der Gesprächspartner aber mit mehreren Clients online ist, von denen nicht alle Videotelefonie unterstützen. |
|||
| ⚫ | |||
2025-04: Umzug von Suse auf Debian, XMPP-Invites |
|||
| ⚫ | |||
| ⚫ | |||
2026-06: Pastebin, pubsub_serverinfo und Websockets aktiviert |
|||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
| ⚫ | |||
==Files== |
== Files == |
||
Das Ansible-Playbook samt Inventory befinden sich hier: https://git.bingo-ev.de/infrastructure/xmpp |
Das Ansible-Playbook samt Inventory befinden sich hier: https://git.bingo-ev.de/infrastructure/xmpp |
||
[[Category:Projekt]] |
[[Category:Projekt]] |
||
Aktuelle Version vom 5. Juli 2026, 21:38 Uhr
Kurzbeschreibung
Ein föderierter, selbst betriebener, erweiterbarer Instant Messenger mit allen derzeitig üblichen Funktionen (Verschlüsselung, private und öffentliche Gruppen, Videotelefonie, Push-Nachrichten,...).
Außerdem: Multi-Client-Unterstützung mit freier Clientwahl (Apps für iOS/Android, Web, Linux/Windows/Mac, GUI/CLI)
Informationen für Anwender finden sich hier: https://xmpp.bytewerk.org/
Benutzerzugänge
bingo-Mitglieder
Jedes bingo-Mitglied hat automatisch einen Account.
Der Benutzername ("JID") ist identisch zur Bingo-E-Mail-Adresse, das Passwort ist das Bingo-Passwort.
E-Mail-Aliase der Domains @bingo-ev.de und @bytewerk.org können ebenfalls als JIDs verwendet werden.
Nicht-bingo-Mitglieder
Bingo-Mitglieder können im DSS Einladungslinks erstellen und z.B. an Freunde und Bekannte weitergeben. Die Zugänge sind haben die Domain @ext.bingo-ev.de, Benutzername ("JID") und Passwort können frei gewählt werden. Die Zugänge sind völlig unabhängig vom bingo-Mitglied, das eingeladen hat.
Nicht benutzte Zugänge werden nach einem Jahr gelöscht.
XMPP-Clients
Es kann jeder XMPP-Client verwendet werden. Empfehlenswerte Clients für Android, iOS, Linux, Windows und MacOS sind auf https://xmpp.bytewerk.org/ aufgeführt.
Zusätzlich gibt es auf https://xmpp.org/software/ eine filterbare Übersicht aller relevanten XMPP-Clients.
Auf xmpp.bytewerk.org ist ein Webclient verfügbar: https://xmpp.bytewerk.org/conversejs-bingo
Unterstützte Funktionen
- Gruppen (öffentlich/privat/mit Einladung, moderiert/unmoderiert)
- Audio- und Videotelefonie
- Sprach- und Videonachrichten
- Ende-zu-Ende-Verschlüsselung
- Dateiup- und Download (wird auch für Fotos, Sprach- und Videonachrichten verwendet) - Dateigröße pro Upload derzeit limitiert auf 100 MByte.
- Gleichzeitiges Verwenden mehrerer Clients
- Push
- IRC
- Invites (nur Domain ext.bingo-ev.de)
100% Compliance zu Conversations
Dateien und Chatverläufe werden nach einem Monat vom Server gelöscht.
Chaträume
Jeder kann nach Belieben Chaträume anlegen.
Automatisch angelegte Chaträume
Folgende Chaträume werden automatisch angelegt:
Badges
Badges für öffentliche Chaträume können über https://xmpp.bytewerk.org/muc_badge/<MUC-JID> abgerufen werden.
Beispiele:
- Das Badge für bytewerk@conference.bytewerk.org kann über die URL https://xmpp.bytewerk.org/muc_badge/bytewerk@conference.bytewerk.org abgerufen werden und sieht so aus:

- Das Badge für bingo-users@conference.bingo-ev.de kann über die URL https://xmpp.bytewerk.org/muc_badge/bingo-users@conference.bingo-ev.de abgerufen werden und sieht so aus:

IRC-Chat
Zum Betreten eines IRC-Chats einfach einen Gruppenchat mit dem Muster #CHANNEL%SERVER@irc.xmpp.bytewerk.org anlegen/beitreten.
Beispiel:
Um den Channel #pypy auf irc.libera.chat zu besuchen, einen neuen Chat mit der Adresse #pypy%irc.libera.chat@irc.xmpp.bytewerk.org starten.
Im XMPP-Client werden dann automatisch sowohl der Channel als auch der IRC-Server als Gesprächspartner hinzugefügt.
Sollten die Nachrichten des IRC-Servers stören: Diesen einfach als Gesprächspartner blockieren.
Hinweise
Die freie Clientwahl, die Möglichkeit, mit mehreren Clients gleichzeitig verbunden zu sein, und die föderierte Struktur mit Nutzern von verschiedenen Servern, ist für viele neue Nutzer zunächst ungewohnt:
Die bei der Kommunikation mit einem bestimmten Gesprächspartner zur Verfügung stehenden Funktionen ergeben sich aus der Schnittmenge des Funktionsumfangs der beteiligten XMPP-Server und der XMPP-Clients. Konkret: Ist mein Gesprächspartner ein Shellskript, das mir eine Nachricht schickt wenn die Waschmaschine fertig ist, dann werde ich mit diesem kein Videotelefonat führen können.
Bei der gleichzeitigen Verwendung von mehreren Clients gilt: Eine Nachricht gilt als zugestellt, wenn sie an EINEM Client des Empfängers angekommen ist. Bei wackeliger Internetverbindung kann es so aussehen, als ob Nachrichten verschluckt worden wären - sie sind aber nur bei dem Clients gelandet, der gerade online ist. XMPP-Clients prüfen beim Wieder-Online-Gehen, ob in der Zwischenzeit Nachrichten eingetroffen sind. Es geht also nichts verloren, die Nachricht kommt nur später.
Bei Gruppenchats kann man sich in jeder Gruppe einen eigenen Nickname geben.
Threema, Whatsapp usw. machen es sich einfach: Die verbieten schlicht die parallele Nutzung sowie Fremd-Clients, oder lassen, wie Signal, nur einen einzigen zentralen Server zu.
Fortschritt
2021-01: Neukonfiguration des bestehenden XMPP-Servers mit Korrektur der DNS-Einträge und Installation zusätzlicher benötigter Dienste
2021-02: Implementierung abgeschlossen: Statt 52% jetzt 100% "XMPP Specifications compliance" beim Conversations.im-Compliance-Test, A-Scores beim IM Observatory Client- und Server-Test
2021-02: Bingo-Domäne mit IMAP-Authentifizierung hinzugefügt, Conversejs aktualisiert
2021-08: Serverkonfiguration auf Ansible umgestellt, dabei kleine Fehler behoben, neue Funktionen hinzugefügt, Conversejs aktualisiert.
2022-08: Push-Services aktiviert
2022-09: IRC-Transport
2025-04: Umzug von Suse auf Debian, XMPP-Invites
2026-06: Pastebin, pubsub_serverinfo und Websockets aktiviert
Verantwortlich
Files
Das Ansible-Playbook samt Inventory befinden sich hier: https://git.bingo-ev.de/infrastructure/xmpp