XMPP-Server
Ziel
Konkurrenzfähiger, zuverlässiger, selbst betriebener, erweiterbarer Instant Messanger mit allen derzeitig üblichen Funktionen.
Bingo-Mitglieder sollen automatisch einen Zugang erhalten. Für Bytwerk-Mitglieder soll es Accounts mit Wunschnamen geben. Bestehende Bytewerk-Zugänge sollen erhalten bleiben.
Verantwortlich
Ansatz
XMPP (früher: Jabber) als Protokoll: Weit verbreitet, gute Clients verfügbar, Server ist Freie Software.
Auf der VM "xmpp.bytewerk.org" läuft bereits Prosody. Dessen Konfiguration wird korrigiert und fehlende Funktionen eingetragen. DNS-Einträge werden geprüft und ergänzt. Für Jingle wird ein TURN-Server installiert.
XMPP wird wie bisher auf der Domain "bytewerk.org" angeboten und zusätzlich auf "bingo-ev.de":
- Accounts für die bytewerk.org-Domain werden, wie bisher auch, lokal angelegt und verwaltet.
- Benutzer der bingo-ev.de-Domain sollen gegen den IMAP-Server "mail.bingo-ev.de" authentifiziert werden: Werden Benutzername und Passwort vom Mailserver bestätigt, so soll der Nutzer auch den XMPP-Server benutzen dürfen. Um es möglichst einfach zu halten soll auch die JID identisch zur E-Mail-Adresse sein.
Implementierung
Auf der VM xmpp.bytewerk.org laufen folgende Dienste:
- Prosody als XMPP-Server
- PostgreSQL als Datenbank
- Coturn für TURN und STUN (für Jingle/WebRTC, d.h. Audio-/Videotelefonie und Dateiübertragung von Client zu Client)
Benutzerzugänge
<wunschname>@bytewerk.org
Accounts werden auf Zuruf erstellt.
Das Passwort kann direkt im XMPP-Client geändert werden.
<Bingo-Benutzername>@bingo-ev.de
Jedes Bingo-Mitglied hat automatisch einen Account.
Passwort ist das Bingo-E-Mail-Passwort, die JID ist identisch zur E-Mail-Adresse.
Da zur Authentifizierung der Bingo-Mailserver benutzt wird, kann das Passwort nicht im XMPP-Client geändert werden.
Empfehlenswerte Clients:
- Android: Conversations.im, Quicksy.im
- iOS: Monal.im
- Windows/Linux/BSD: Gajim
- macOS: PSI
Ein sehr einfacher Client (nur Text, keine Gruppenchats) ist in Thunderbird eingebaut ("Chat-Konto").
Für Nextcloud gibt es mit der ojsxc-App (https://apps.nextcloud.com/apps/ojsxc) einen sehr gut ausgestatteten webbasierten Client.
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 compliance.conversations.im statt 52% jetzt 100% "XMPP Specifications compliance".
- 2021-02
- Bingo-Domäne mit IMAP-Authentifizierung hinzugefügt
Probleme
- Plattenplatz sehr gering
- keine IPv6-Unterstützung: Die Prosody-VM hat zwar eine IPv6-Adresse, diese ist aber nicht öffentlich erreichbar
Wenn Coturn als TURN-Server statt "nur" als STUN-Server durch Prosody benutzt wird, funktioniert Audio- und Videotelefonie nur noch mit bytewerk.org-Usern und nicht mehr mit Externen.- XMPP-Webclient unter https://jabber.bytewerk.org funktioniert nicht mehr.
ToDo
- Testen!
- Vom http[s]://bingo-ev.de/.well-known/host-meta und http[s]://bingo-ev.de/.well-known/host-meta.json per Redirect umleiten zu http://xmpp.bytewerk.org/.well-known/...
- Mehr Plattenplatz
- Backup
- Monitoring