Jabber/XMPP statt Hangouts

Ich habe früher schon zum Chatten am Liebsten Jabber benutzt und über einen Jabber Tansport auch meine Google Talk-Kontakte neben meinen ICQ Kontakten in einer einzigen Anwendung verwaltet. Googles Wechsel zu Hangouts gefiel mir nicht, da hier auch die Verbindung zu anderen Jabber-Server gekappt wurde. Daher hatte ich nun schon länger vor, wieder zurück zum guten alten Jabber zu gehen. Dieses Mal in Form vom Self Hosting…

TL;DR: Als Anwender

  • Öffentliche Jabber-Server finden sich hier: https://xmpp.net/directory.php
  • Yaxim unterstützt die wichtigstens XEPs: http://yaxim.org/yax.im/
  • Als Desktop-Client verwende ich immer noch gerne Psi. An Pidgin habe ich nie so richtig Gefallen gefunden. Ein alternativer Client mit jeder Menge Features bietet sich Jit.si an.
  • Ein guter Desktop Client mit vielen Features und schick aufgeräumt ist Gajim.
    Laut Wikipedia ist dies auch der wirklich einzige vollständig alle XMPP-Features implementierende Client. Damit ist er wohl einen Blick wert. Ich spreche mit dem Client eine Sprache (Testsetup):gajim

  • Jitsi macht an sich auch einen guten Eindruck, hat aber Probleme mit TLS. Nachdem ich meinen eigenen Server durch Abschaltung unsicherer Protokolle & Algorithmen abgesichert hatte, war keine Verbindung mehr möglich. Das ist schwach!

  • Als mobiler Client gefällt mir Conversations gut (Download: F-Droid)

Selber hosten

  • Der Jabber-Server, den ich auf meinem Uberspace hoste, nennt sich Prosody. Er ist leicht zu installieren und erfordert nur sehr wenig Konfiguration.
  • Eine funktionierende Anleitung findet sich hier: http://blog.dictvm.org/prosody-auf-dem-uberspace/
  • Zur weiteren Sicherheit kann man Forward Secrecy aktivieren. Dazu gibt es hier eine Anleitung: http://pastebin.com/6ZmHsJ7U
  • Ob der Server richtig funktioniert, kann hier geprüft werden: https://xmpp.net/index.php
  • Auch fremde Server können dort vor Anmeldung mal auf ihre Sicherheit geprüft werden.
  • Als Desktop-Client verwende ich immer noch gerne Psi. An Pidgin habe ich nie so richtig Gefallen gefunden. Ein alternativer Client mit jeder Menge Features bietet sich Jit.si an.

Wer benutzt eigentlich dieses Jabber?

Witzigerweise fast jeder. Das Protokoll ist schon sehr alt und viele Services basieren darauf. So setzten „Facebook Chat“ & „Google Hangouts“ auf dieses System auf – und sogar WhatsApp ist im Grunde nur ein Jabber Client, der die Telefonnummer als Login-Namen verwendet.

Damit kann man sagen, dass heutzutage beinahe jeder einen Dienst basierend auf Jabber einsetzt. 🙂

Stolperfallen beim mobilen Messaging

Ich habe mich gewundert, warum manche Nachrichten mitunter auf meinem Smartphone nicht ankommen und zunächst einen Bug in App oder Server vermutet. Dabei liegt es daran, dass man für komfortables Chatten auf mobilen Geräten & Desktop gleichzeitig, wie man es von Google Hangouts gewohnt ist, einen Server & Client benötigt, der folgende Protokolle implementiert:

Warum das so ist, wird in diesem Blog Post beschrieben: http://op-co.de/blog/posts/mobilexmppin_2014/

Das ist bei Prosody leider auch noch alles experimentell. 🙁

Welche davon wie gut bei Prosody implementiert sind, steht hier: http://prosody.im/doc/xeplist

Fazit: Geht alles bei Prosody, ist aber teilweise noch Beta oder sogar Alpha.

Wikipedia hat eine Übersicht, wie sich Prosody hier im Vergleich zu anderen Servern schlägt.

Unter diesen Gesichtspunkten kommen bisher nur zwei Jabber Clients für Android in Frage:

Xabber scheint nicht mehr weiterentwickelt zu werden und bei ChatSecure funktioniert es (noch) nicht (richtig).

Cipther Suite

Ich habe mir mit meinem Jabber-Server oltmann.it einen sehr guten Wert im IM Obervatory abgeholt: https://xmpp.net/result.php?domain=oltmann.it&type=client

Diesen habe ich ermöglicht durch Verwendung eines kostenlosen StartSSL-Zertfikats und beherzigung der Tipps aus dem Artikel „Hardening Your Web Server’s SSL Ciphers„.

Meine OpenSSL Cipher lautet:

ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:!RC4:!RC2:!3DES:!DES:!MD5:!DSS:!aNULL:!eNULL