Contents
Einleitung
XMPP steht für Extensible Messaging and Presence Protocol und ist ein offener Standard für ein Protokoll, welches unter anderem als Instant Messaging verwendet wird - früher bekannt als "Jabber". XMPP selbst bietet das Grundgerüst für das Protokoll. Viele Bequemlichkeiten, wie z.B. Audio-/Videotelefonie, werden erst durch Erweiterungen unterstützt, die XEPs genannt werden. Oft müssen die Erweiterungen von der Client- und der Serversoftware unterstützt werden, damit sie möglich sind.
Das Protokoll basiert auf einer TCP/IP Client-Server Architektur und verwendet i.d.R. XML Datenströme für die Kommunikation zwischen Client und Server.
Die folgenden Punkte sorgen für eine Beliebtheit bei den XMPP Nutzern.
- Das Protokoll ist ein offener Standard und ist somit für jeden verfügbar.
- Client Anwendungen und Server Anwendungen existieren als Open Source.
- Aufgrund der oben genannten Gründe, ist das betrieben eigener Server problemlos möglich.
- Die Architektur ist dezentral, somit ist man nicht an einen Anbieter gebunden
- Die Verwendung von Accounts und Kommunikation kann unabhängig von E-Mail Adresse, Telefonnummer, Adressbuch erfolgen.
- Die nutzen von einem Account ist auf mehreren Endgeräten möglich (Workstation, Laptop, Smartphone).
- Die Beteiligung an Gruppen Chats kann "semi-anonym" erfolgen.
- XMPP unterstützt mit OMEMO und OpenPGP zwei wichtige, aber unterschiedliche Verschlüsselungenskonzepte, welche beide ihre Vor- und Nachteile haben. Besonders im Bezug auf perfect forward secrecy (PFS), kann es Personen geben, die die Verwendung von OMEMO gegen über OpenPGP hervorziehe oder genau anders herum, wenn PFS nicht erwünscht ist. Oder aber OTR.
Debian
Einige Debian Developers nutzen den Debians XMPP Server. In diesem Fall ist die JID die E-Mail-Adresse der DDs.
Das XMPP packaging team betreut einige der XMPP bezogenen Software Pakete sowie die Betreuung diese Wiki-Seite.
Diese Wiki-Seite soll als zentrale Stelle für alle XMPP bezogenen Themen verwendet werden und die jeweiligen Artikel per Link verknüpfen. Innerhalb des Wikis werden aktuell noch auf einigen Seiten der Begriff Jabber verwende. Dieser Begriff soll durch XMPP ersetzt werden.
XMPP Software in Debian
Clients
Graphical
dino-im - Dino ist ein einfacher und übersichtlicher modern XMPP Client (gtk)
gajim - Ein sehr beliebter GTK+ basierter XMPP Client (gtk,python)
jabbercat RFP
cagou RFP
Console
Command line
Web
movim Not in bullseye
converse.js RFP
libervia RFP
Servers
Libraries
Other
Grundlagen XMPP
Instant Messaging - Anwender
Es gibt einige XEPs die bei der Verwendung von XMPP als Instant Messaging Anwendung für einige Nutze wichtig sind.
XEP |
Bezeichnung |
Beschreibung |
Multi-User Chat |
Diese XEP wird für *Gruppenchats* benötigt. |
|
Bookmarks |
|
|
OMEMO |
End-zu-End Verschlüsselung |
|
OpenPGP for XMPP |
End-zu-End Verschlüsselung via OpenPGP |
|
HTTP File Upload |
|
|
Push Notifications |
|
|
Last Message Correction |
|
|
Message Archive Management |
|
Clients - XEPs Support
Client |
XEP-0045 |
XEP-0048 |
gajim |
|
|
XMPP Administration
Zum betreiben eines XMPP Servers werden in der Regel mehrere dns Namen verwendet. Die Namen sind frei wählbar, beispielsweise conference.domain.tld, search.domain.tld,...
Wenn nicht anders angegeben, dann sind die Default TCP Ports
- 5222/TCP (Client-zu-Server)
- 5269/TCP (Server-zu-Server)
- Legacy-SSL: 5223/TCP (SSL)
Heute sehr gängig Praxis ist die Server-zu-Server Kommunikation nur noch per SSL zu erlauben.
HowTos