(früher Jabber von „(daher-)plappern“)
Clients bei verschiedenen XMPP Servern
Server - Server Kommunikation
Clients in Multi-User-Chat (MUC)
Server - Server Kommunikation
Erweiterungen (XEPs)
Erweiterbar - mithilfe der Leistung von XML kann jeder benutzerdefinierte Funktionen auf den Kernprotokollen aufbauen.
Flexibel - XMPP-Anwendungen, die über IM hinausgehen, umfassen Netzwerkmanagement, Content-Syndizierung, Tools für die Zusammenarbeit, Dateifreigabe, Spiele, Remote-Systemüberwachung, Webdienste, leichtgewichtige Middleware, Cloud Computing und vieles mehr.
# Ein Empfänger
echo 'Hallo Welt!' | sendxmpp -t -r echobot -u echobot -j fr32k.de:63034 -p 123 picard@fr32k.de
# MUC
echo 'Hallo Welt!' | sendxmpp -t -r echobot -c linux-whv@chat.ffnw.de -u echobot -j fr32k.de:63034 -p 123 picard@fr32k.de
Beispiel: Terminal
import pyxmpp
from pyxmpp.jabber.client import JabberClient
class EchoBot(JabberClient):
def __init__(self, jid, passwd):
tls = pyxmpp.streamtls.TLSSettings(require=True, verify_peer=False)
JabberClient. __init__(self, pyxmpp.jid .JID(jid), passwd, tls_settings=tls,
auth_methods=["sasl : PLAIN"])
def message(self, stanza):
if stanza.get_type() == "chat" and stanza.get_body() != None :
m = pyxmpp.message.Message(stanza, to_jid=stanza.get_from(),
from_jid=stanza.get_to())
self.stream.send(m)
def session_started( self ):
JabberClient.session_started(self)
self.stream.set_message_handler("normal", self.message)
bot = EchoBot("echobot@fr32k.de/test", "123" )
bot.connect()
try:
while 1: bot.loop(1)
except KeyboardInterrupt: bot.disconnect()
Beispiel: Python
SASL und TLS sind Kern bestandteil der XMPP Spezifikationen
Ende-zu-Ende-Verschlüsselung
OpenPGP, Off-the-Record Messaging (OTR) & Omemo.
Durch Perfect Forward Secrecy(PFS) wird außerdem erreicht, dass bei Verlust von privaten Schlüsseln vorherige Traffic Mitschnitte nicht entschlüsselt werden können.
Client-zu-Server- & Server-zu-Server-Verschlüsselung
Client A
Server A
Server B
Client B
==> https://gajim.org
==> https://conversations.im
==> https://chatsecure.org
https://xmpp.org/
https://de.wikipedia.org/wiki/OMEMO
https://de.wikipedia.org/wiki/Off-the-Record_Messaging
https://de.wikipedia.org/wiki/Perfect_Forward_Secrecy
https://github.com/xsf
https://de.wikipedia.org/wiki/OpenPGP
https://gajim.org
https://conversations.im
https://chatsecure.org
Multi-User-Chat (MUC)
Danke
Ende