XMPP-Server: Unterschied zwischen den Versionen
Geierb (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „==Ziel== Konkurrenzfähiger, selbst betriebener Instant Messanger mit allen derzeitig üblichen Funktionen. ==Verantwortlich== * sqozz * …“) |
Bg3992 (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
(145 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Ziel== |
==Ziel== |
||
Konkurrenzfähiger, selbst betriebener Instant |
Konkurrenzfähiger, zuverlässiger, selbst betriebener, erweiterbarer Instant Messenger mit allen derzeitig üblichen Funktionen. |
||
==Verantwortlich== |
==Verantwortlich== |
||
* [[Benutzer:sqozz|sqozz]] |
* [[Benutzer:sqozz|sqozz]] |
||
* [[Benutzer:Cfr34x|cfr34k]] |
* [[Benutzer:Cfr34x|cfr34k]] |
||
* [[ |
* [[Benutzer:Geierb|Geierb]] |
||
== Benutzerzugänge == |
|||
==Ansatz== |
|||
XMPP (früher: Jabber) als Protokoll: Weit verbreitet, gute Clients verfügbar, Server ist Freie Software. |
|||
Jedes Bingo-Mitglied hat automatisch einen Account. |
|||
Server ist: xmpp.bytewerk.org |
|||
Die JID ist identisch zur Bingo-E-Mail-Adresse, das Passwort ist das Bingo-E-Mail-Passwort. |
|||
E-Mail-Aliase der Domains @bingo-ev.de und @bytewerk.org können ebenfalls als JIDs verwendet werden. |
|||
Informationen für Anwender finden sich hier: https://xmpp.bytewerk.org/ |
|||
== |
== Chaträume == |
||
=== Grunsätzlich === |
|||
⚫ | |||
Jeder kann nach Belieben Chaträume anlegen. |
|||
;2021-02: Implementierung abgeschlossen: Bei [[https://compliance.conversations.im/server/bytewerk.org/]] statt 52% jetzt 100% "XMPP Specifications compliance". |
|||
=== Automatisch angelegte Chaträume === |
|||
==Probleme== |
|||
Folgende Chaträume werden automatisch angelegt: |
|||
* Plattenplatz sehr gering |
|||
* [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] |
|||
* keine IPv6-Unterstützung: Die Prosody-VM hat zwar eine IPv6-Adresse, diese ist aber nicht öffentlich erreichbar |
|||
* [xmpp:bytewerk@conference.bytewerk.org bytewerk@conference.bytewerk.org] [https://conference.bytewerk.org/muc_badge/bytewerk@conference.bytewerk.org] |
|||
== |
=== Badges === |
||
Badges für Chaträume können über https://conference.<DOMAIN>/muc_badge/<MUC-JID> abgerufen werden. |
|||
* 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 |
|||
Beispiele: |
|||
==Verwandte Artikel== |
|||
* Das Badge für [xmpp:bytewerk@conference.bytewerk.org bytewerk@conference.bytewerk.org] kann über die URL https://conference.bytewerk.org/muc_badge/bytewerk@conference.bytewerk.org abgerufen werden und sieht so aus: [[Datei:MUC badge bytewerk.png|frameless|caption]] |
|||
* Das Badge für [xmpp:bingo-users@conference.bingo-ev.de bingo-users@conference.bingo-ev.de] kann über die URL https://conference.bingo-ev.de/muc_badge/bingo-users@conference.bingo-ev.de abgerufen werden und sieht so aus: [[Datei:MUC badge bingo-users.png|frameless|caption]] |
|||
=== IRC-Chat === |
|||
Zum Betreten von IRC-Chats einfach einen neuen Chat mit dem Muster '''#CHANNEL%SERVER@biboumi.bytewerk.org''' anlegen. |
|||
Beispiel: |
|||
⚫ | |||
Um den Channel '''#pypy''' auf '''irc.libera.chat''' zu besuchen, einen neuen Chat mit der Adresse '''#pypy%irc.libera.chat@biboumi.bytewerk.org''' starten. |
|||
Im XMPP-Client werden dann automatisch der Channel und der IRC-Server als Gesprächspartner hinzugefügt. |
|||
Sollten die Nachrichten des IRC-Servers stören: Diesen einfach als Gesprächspartner blockieren. |
|||
== 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. |
|||
=== 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] |
|||
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. |
|||
=== 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. |
|||
== Unterstützte Funktionen == |
|||
=== Übersicht === |
|||
* 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 |
|||
[https://compliance.conversations.im/live/bytewerk.org/ 100% Compliance] zu Conversations |
|||
Dateien und Chatverläufe werden nach einem Monat vom Server gelöscht. |
|||
=== Die Kosten der Freiheit === |
|||
Die oben genannten Funktionen stehen nicht immer zur Verfügung, weil sich die bei der Kommunikation mit einem bestimmten Gesprächspartner zur Verfügung stehenden Funktionen aus der Schnittmenge des Funktionsumfangs der beteiligten XMPP-Server und der XMPP-Clients ergeben :) |
|||
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. |
|||
Wichtig bei der '''gleichzeitigen Verwendung von mehreren Clients''': Eine Nachricht gilt als zugestellt, wenn sie an EINEM Client des Empfängers angekommen ist. Das kann bei wackeliger Internetverbindung dazu führen, dass Nachrichten scheinbar nicht zugestellt wurden - sie landen dann nur bei dem Gerät, dass gerade online ist. Zwar prüfen die meisten XMPP-Clients beim Wieder-Online-Gehen, ob in der Zwischenzeit Nachrichten eingetroffen sind, aber eben nicht alle. |
|||
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-02: Implementierung abgeschlossen: Statt 52% jetzt 100% "XMPP Specifications compliance" beim [https://compliance.conversations.im/server/bytewerk.org/ Conversations.im-Compliance-Test], A-Scores beim IM Observatory [https://www.xmpp.net/result.php?domain=bytewerk.org&type=client Client-] und [https://www.xmpp.net/result.php?domain=bytewerk.org&type=server 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 für Monal IM aktiviert |
|||
;2022-09: IRC-Transport |
|||
⚫ | |||
Das Ansible-Playbook samt Inventory befinden sich hier: https://git.bingo-ev.de/infrastructure/xmpp |
|||
[[Category:Projekt]] |
[[Category:Projekt]] |
Aktuelle Version vom 31. Januar 2024, 20:41 Uhr
Ziel
Konkurrenzfähiger, zuverlässiger, selbst betriebener, erweiterbarer Instant Messenger mit allen derzeitig üblichen Funktionen.
Verantwortlich
Benutzerzugänge
Jedes Bingo-Mitglied hat automatisch einen Account.
Die JID ist identisch zur Bingo-E-Mail-Adresse, das Passwort ist das Bingo-E-Mail-Passwort.
E-Mail-Aliase der Domains @bingo-ev.de und @bytewerk.org können ebenfalls als JIDs verwendet werden.
Informationen für Anwender finden sich hier: https://xmpp.bytewerk.org/
Chaträume
Grunsätzlich
Jeder kann nach Belieben Chaträume anlegen.
Automatisch angelegte Chaträume
Folgende Chaträume werden automatisch angelegt:
Badges
Badges für Chaträume können über https://conference.<DOMAIN>/muc_badge/<MUC-JID> abgerufen werden.
Beispiele:
- Das Badge für bytewerk@conference.bytewerk.org kann über die URL https://conference.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://conference.bingo-ev.de/muc_badge/bingo-users@conference.bingo-ev.de abgerufen werden und sieht so aus:
IRC-Chat
Zum Betreten von IRC-Chats einfach einen neuen Chat mit dem Muster #CHANNEL%SERVER@biboumi.bytewerk.org anlegen.
Beispiel:
Um den Channel #pypy auf irc.libera.chat zu besuchen, einen neuen Chat mit der Adresse #pypy%irc.libera.chat@biboumi.bytewerk.org starten.
Im XMPP-Client werden dann automatisch der Channel und der IRC-Server als Gesprächspartner hinzugefügt. Sollten die Nachrichten des IRC-Servers stören: Diesen einfach als Gesprächspartner blockieren.
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.
Webclients
Auf xmpp.bytewerk.org ist Converse.js installiert:
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.
Sonstige
In Thunderbird ist ein sehr einfacher Client (nur Text) integriert ("Konten" -> "Chat-Konto" hinzufügen).
Für Nextcloud gibt es mit der ojsxc-App einen sehr gut ausgestatteten webbasierten Client.
Unterstützte Funktionen
Übersicht
- 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
100% Compliance zu Conversations
Dateien und Chatverläufe werden nach einem Monat vom Server gelöscht.
Die Kosten der Freiheit
Die oben genannten Funktionen stehen nicht immer zur Verfügung, weil sich die bei der Kommunikation mit einem bestimmten Gesprächspartner zur Verfügung stehenden Funktionen aus der Schnittmenge des Funktionsumfangs der beteiligten XMPP-Server und der XMPP-Clients ergeben :)
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.
Wichtig bei der gleichzeitigen Verwendung von mehreren Clients: Eine Nachricht gilt als zugestellt, wenn sie an EINEM Client des Empfängers angekommen ist. Das kann bei wackeliger Internetverbindung dazu führen, dass Nachrichten scheinbar nicht zugestellt wurden - sie landen dann nur bei dem Gerät, dass gerade online ist. Zwar prüfen die meisten XMPP-Clients beim Wieder-Online-Gehen, ob in der Zwischenzeit Nachrichten eingetroffen sind, aber eben nicht alle. 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: 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 für Monal IM aktiviert
- 2022-09
- IRC-Transport
Files
Das Ansible-Playbook samt Inventory befinden sich hier: https://git.bingo-ev.de/infrastructure/xmpp