Inhalt gelöscht Inhalt hinzugefügt
Geierb (Diskussion | Beiträge)
KKeine Bearbeitungszusammenfassung
 
(163 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1:
== Kurzbeschreibung ==
==Ziel==
KonkurrenzfähigerFöderierter, selbst betriebener, erweiterbarer Instant MessangerMessenger 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)
==Verantwortlich==
* [[Benutzer:sqozz|sqozz]]
* [[Benutzer:Cfr34x|cfr34k]]
* [[Benutzer:Citronalco|Citronalco]]
 
Informationen für Anwender finden sich hier: https://xmpp.bytewerk.org/
==Ansatz==
XMPP (früher: Jabber) als Protokoll: Weit verbreitet, gute Clients verfügbar, Server ist Freie Software.
 
==Benutzerzugänge==
Server ist: xmpp.bytewerk.org
=== 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 [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.
 
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#converse/room?jid=bingo-users@conference.bingo-ev.de 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)
 
[https://compliance.conversations.im/live/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:
* [xmpp:bingo-users@conference.bingo-ev.de bingo-users@conference.bingo-ev.de] [https://conference.bingo-ev.de/muc_badge/bingo-users@conference.bingo-ev.de]
* [xmpp:bytewerk@conference.bytewerk.org bytewerk@conference.bytewerk.org] [https://conference.bytewerk.org/muc_badge/bytewerk@conference.bytewerk.org]
 
=== Badges ===
Badges für öffentliche Chaträume können über <nowiki>https://xmpp.bytewerk.org/muc_badge/</nowiki><MUC-JID> abgerufen werden.
 
Beispiele:
* 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://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 ===
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.
 
=== Die Kosten der Freiheit ===
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.
 
Wichtig bei der '''gleichzeitigen Verwendung von mehreren Clients''': 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.
 
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.
 
Threema, Whatsapp usw. machen es sich einfach: Die verbieten schlicht die parallele Nutzung sowie Fremd-Clients.
 
== 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: Bei [[https://compliance.conversations.im/server/bytewerk.org/]] statt 52% jetzt 100% "XMPP Specifications compliance".
 
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
==Probleme==
* Plattenplatz sehr gering
* keine IPv6-Unterstützung: Die Prosody-VM hat zwar eine IPv6-Adresse, diese ist aber nicht öffentlich erreichbar
 
2021-02: Bingo-Domäne mit IMAP-Authentifizierung hinzugefügt, Conversejs aktualisiert
==ToDo==
* Testen!
* Allen Bingo-Mitglieder automatisch einen Account geben. Die Authentifizierung kann dazu mit dem Prosody-Modul "mod_auth_imap" an den Bingo-Mailserver delegiert werden. '''Achtung:''' Es kann immer nur ein einziges Authentifizierungsmodul aktiv sein, d.h. lokale angelegte User funktionieren dann nicht mehr.
* Backup
* Monitoring
 
2021-08: Serverkonfiguration auf Ansible umgestellt, dabei kleine Fehler behoben, neue Funktionen hinzugefügt, Conversejs aktualisiert.
==Verwandte Artikel==
 
2022-08: Push-Services für Monal IM aktiviert
 
2022-09: IRC-Transport
==Files==
 
2025-04: Umzug von Suse auf Debian, XMPP-Invites
 
==Verantwortlich==
* [[Benutzer:Cfr34x|cfr34k]]
* [[Benutzer:Geierb|Geierb]]
 
== Files ==
Das Ansible-Playbook samt Inventory befinden sich hier: https://git.bingo-ev.de/infrastructure/xmpp
[[Category:Projekt]]