Last-Crusade.de – The Empire Writes Black Stories of these dark and modern days…

31Aug/11142

Schon gewusst?

Schon gewusst, dass wenn man die Schale einer unreifen Walnuss aufschneidet eine gelb-braune Flüssigkeit austritt, die man selbst mit Hausmitteln&Gewalt nicht von den Händen bekommt? *flucht*

29Aug/1155

Warum ich den Like-Button nicht like

Wer kennt ihn nicht, er hat sich rasant im Netz fest gebissen: Der Like-Button, im deutsche Raum "Gefällt mir!" getauft. Fast jede größere Website hat mittlerweile einen bei sich pranken. Für diejenigen, die ihn nicht kennen: Hierbei handelt es sich um eine Erfindung von Facebook. Klickt man drauf, kann man eine Website, einen speziellen Artikel oder irgendwas über das eigene Profil weiterempfehlen. (Ich habe es nie versucht, aber es sollte ziemlich idiotensicher sein.) Der Nutzen sei mal dahin gestellt, viele scheinen ihn praktisch zu finden.
Was aber wirklich fatal ist, dass für diesen Button eine Bilddatei von den Servern von Facebook lädt, eben diese die Grafik für diesen Button. Was bedeutet das im Umkehrschluss? Ein x-beliebiger Nutzer geht auf eine Website mit eben diesem Knopf. Die Seite wird geladen - der Button auch. Was passiert? Der Browser des Nutzers klopft beim Facebookserver an (muss er ja, ist ja in die Webseite eingebunden) und fordert das entsprechende Bild mit, was dieser ihm natürlich liebend gerne zuschickt. Der Browser schickt dabei zwangsläufig Informationen über sich, den Computer die eigene IP-Adresse mit. Diese Daten kann Facebook dann einfach abspeichern, später mit anderen den Daten verknüpfen und Schwups! seid ihr identifiziert..
Ergo: Facebook weiß, wann wer auf welcher Website ist. Die Daten lassen sich leicht verknüpfen und das gesamte Surfverhalten ist quasi transparent. Wollen wir das? Nein, das wollen wir nicht!
Die Free Software Foundation hat dazu eienn sehr interessanten Artikel geschrieben, hier zu finden, und liefert auch gleich eigene Anti-Buttons mit.

Wer Firefox & Adblock Plus nutzt (ich weiß nicht, ob es in Chromium auch einfach geht, denke aber schon), dem kann ich als Gegenmittel diese Blockierliste empfehlen:
https://monzta.maltekraus.de/adblock_social.txt (hier der Entsprechende Foreneintrag vom Ersteller dazu)
Diese blockiert die Button sowohl die Fratzenbuch, als auch von anderen Sozialen Netzwerke & Konsorten. Damit endlich ein weiterer tropfender "Daten-hahn" zugedreht.

Oft genug sind in Websiten darüber hinaus noch Facebook-JavaScripte integriert, wie man sehr schön bemerkt, wenn man die Erweiterung NoScript installiert. NoScript kann ich jetzt nicht uneingeschränkt empfehlen, weil es zwar ohne Zweifel eine sehr geniale Erfindung ist, jedoch den gewohnten Surfkomfort etwas einschränkt. Ich habe mich aber noch einer kurzen Eingewöhnungsphase seeehr damit angefreundet und bin immer wieder negativ überrascht, von welchen dubiosen (meist Werbe-) Anbietern Skripte eingebunden werden. Damit ist bei mir jetzt Schluss, in meinem Firefox wird nur noch das Nötigste an Skripten eingebunden.

Nun, warum habe ich all dies hier geschrieben? Für euch 😉 Um euch ein wenig zu sensibilisieren hinsichtlich Datenschutz und was ein kleines Bildchen so mit sich bringen kann. Wem egal ist, wer weiß, auf welchen Seiten er sich wann bewegt wird den Artikel vermutlich mal gelesen haben. Für den Rest war es vielleicht ein kleiner Weckruf. In dem Sinne: Lasst euch nicht überwachen! :-)

veröffentlicht unter: Allgemein, Software 55 Kommentare
24Aug/113

Psi+ GPG-Verschlüsselung unter Linux ((X)Ubuntu) aktivieren

Ich hatte jetzt eine ganze Zeit über das Problem, dass ich bei Psi+ unter Xubuntu (und ich glaube, es war auch unter Linux Mint Debian Edition das gleiche Elend) keine GPG-Verschlüsselung für meinen Account aktivieren konnte, weil ich keinen privaten Schlüssel unter Account Properties -> Details auswählen konnte: Der Button "Select Key" war ausgegraut. An der Schlüsselverwaltung konnte es eigentlich nicht liegen, denn unter Gajim ging es einwand frei. Nun bin ich im Psi-MUC zufällig über die Lösung gestolpert:

libqca2-plugin-gnupg

muss installiert werden. Nun funktioniert GPG einwandfrei. So einfach kann es manchmal gehen. :-)

23Aug/111

Jabber-Client-Updates: Psi+, Gajim & Vacuum IM

Es gibt mal wieder ein paar kleinere Neuigkeiten bei den XMPP-Clients.

Psi+
Was mich besonders freute, war folgende Zeile im Changelog zu Version 0.15.5091:

 * fixed receipts when pgp/gpg is enabled (psi-receipts.diff, psi-pgp-chat-icons.diff)

Endlich funktionieren die Receipts bei aktivierter Verschlüsselung. Das bedeutet, dass wenn eine Nachricht abgeschickt wird, der Pfeil links von ihr lila ist, bis der Client des anderen eine Empfangsbestätigung sendet. Wenn dieses beim Sender eintrifft, wird der Pfeil grün. Darüber hinaus wurden schöne Icons hinzugefügt, so dass man leicht sehen kann, ob eine Nachricht verschlüsselt übermittelt wurde oder eben nicht. Schön zu sehen, dass es bei meinem lieblings-Jabber-Programm immer wieder weitergeht.

Gajim
Es geht das Gerücht, dass die Tage eine Alphaversion von Gajim 0.15 herauskommt. Diese wird aller Wahrscheinlichkeit nach Stream Management und GPG-Unterstützung unter Windows beinhalten. Ich bin gespannt!

Vacuum IM
Dieser hierzulande recht unbekannte Client wurde in der Version 1.1.1 veröffentlicht. Sie auch hier

veröffentlicht unter: Jabber/XMPP, Software 1 Kommentar
3Aug/11553

ejabberd zu Prosody: Migration & Konfiguration

Endlich habe ich mein lange geplantes Projekt umgesetzt und meinen ejabberd-Server durch einen Prosody ersetzt. Hier eine kurze Übersicht für andere, die diesen Schritt auch planen.

Hintergründe - Warum der Wechsel?

Mein ejabberd hat mir in letzter Zeit immer öfter "consuming too much memory"-Fehlermeldungen gebracht, das hat mich ziemlich genervt (war aber vermutlich eine Konfigurations-Sache). Zudem hat der werte ejabberd immer wieder Einstellungen "vergessen", was ziemlich ärgerlich war. Kurzum, er war schon immer ein wenig zickig und von der Konfiguration her stellenweise nicht sehr entgegenkommend (mag hier und da mein Fehler gewesen sein). Zudem ist ein Stream Management-Plugin nicht in absehbarer Zeit zu erwarten.

Warum Prosody?

Nun, Prosody ist relativ neu (2008) und sehr schlank, dafür umso einfacher zu erweitern. Da der/die Entwickler anderen gegenüber sehr offen sind, hat sich ein gesundes Ökosystem an Modulen gebildet. Eines davon hatte es mir besonders angetan - Überraschung - : Stream Management. Endlich ist es möglich, auch bei schlechter Verbindung verlässlich zu kommunizieren! :-)

Was darüber hinaus wirklich spitze ist, ist der Support, den einem die Leute im MUC bieten - ich habe einige Stunden hier verbracht und eine Hand voll Leute haben sichwirklich viel Mühe gegeben (und sie waren Erfolgreich *g*), meine Fragen bestmöglich zu klären - danke nochmals!!

Installation Prosody - Mein Vorgehen

Während der ejabberd noch friedlich auf dem Server arbeitete, begann die Revolution. Es empfiehlt sich bei Debian-Systemen auf das Repository von prosody (Übersicht hier) zurück zu greifen, da hier immer die aktuellste Version zusammengeschnürt wird (0.6.1 in den ubuntu-Repos versus 0.8.2 in den Prosody-Repos).

Im Anschluss sollte man sich die Konfig-Datei  /etc/prosody/prosody.cfg.lua zu Gemüte ziehen. Sie ist glücklicher Weise recht schön dokumentiert. Hier muss man als erstes den Host auf die eigene Domain ändern. Bei der Verwendung von self-signed-certificates kann man zunächst einmal das aus der Konfiguration weiter oben kopieren und später ein neues erzeugen.

Ein weiteres Detail, das man beachten sollte ist, dass der Nutzer unter dem Prosody läuft auf /var/lib/prosody/* vollen Schreib- und Lesezugriff haben muss. Um herauszufinden, ob etwaige Probleme, z.B. mit den MUC-Bookmarks (nicht les- oder beschreibbar) daran liegen, kann man unter /var/log/prosody/prosody.log bzw. prosody.err nach Fehlermeldungen mit "Permission denied" schauen. Bei mir ist das jedenfalls der Fall gewesen, lies sich durch die Rechtevergabe auf den Ordner aber  schnell beheben.

Migration ejabberd => Prosody IM

Nun, natürlich wollte ich die Nutzeraccounts samt allen Einstellungen und gespeicherten Daten erhalten. Glücklicherweise gibt es von den Prosody-Leuten hierfür ein Script, das sehr gut funktionierte: http://prosody.im/files/ejabberd2prosody (Update: Jens hat im Kommentar unten auf das Script bei Github verwiesen. Es ist rund 1.100 Zeilen kürzer und wohl einiges aktueller. Ich habe es selbst nicht getestet, bei ihm scheint es ja funktioniert zu haben - daher hier der nochmal sein Link: https://github.com/bjc/prosody/blob/master/tools/ejabberd2prosody.lua ). Auszuführen ist es in /var/lib/prosody/. Zunächst muss man jetzt auf der Konsole mittels
ejabberdctl dump filename.txt
die Daten aus der Datenbank von Ejabberd exportieren (sollte nicht die Standard-DB verwendet werden, weiß ich nicht, ob es geht -> an den Prosody MUC wenden). Das Migrations-Script führt man mittels
lua ejabberd2prosody pfadZurExportiertenEjabberdDatei
aus.
Zu beachten ist, dass der Pfad wo die Dateien hin sollen vom Skript nicht richtig erkannt werden kann und man ggf. noch den Ordner verschieben muss.
Das Skript hat bei mir alles übernommen, es hat sich nur an einer Stelle etwas verschluckt: meine hoch geschätzten Notizen (Storage-Notes) konnten nicht von Psi+ (hab es auch mit Miranda IM getestet) geladen werden. Hier knallte es irgendwie. Wer die Notizen wieder richten möchte, kann folgendermaßen vorgehen: Das private XML liegt unter /var/lib/prosody/<host>/private/<nutzername>.dat.
Das Problem (ich saß da echt 'ne Weile dran, bis ich endlich darauf kam) liegt darin, dass hier leere Attribute = {} gesetzt werden, was irgendwie nicht interpretierbar ist. Wenn man alle leeren geschweiften Klammern durch zwei Anführungszeichen ("") ersetzt, sollte es gehen. Darüber hinaus fügt Prosody bei neuen Notizen immer den Namespace hinzu, daher habe ich das auch gemacht:

["attr"] = {};

bzw.

["tags"] = {};

wurde somit zu

["attr"] = {
["xmlns"] = "http://miranda-im.org/storage#notes";
};

bzw.

["tags"] = "";

Dann ist alles wie gehabt vorhanden und man kann munter weiter damit arbeiten. Könnte man sich auch ein nettes kleines Script basteln, aber den Aufwand war es bei mir nicht wert (genau genommen war es auch den von mir betriebenen nicht wert, weil es nur um meine eigenen Notizen ging, aber egal *g*)

Module

Neue Module werden unter /usr/lib/prosody/modules abgelegt und in der oben bereits erwähnten Konfigurations-Datei aktiviert.

Wer Stream Compression nutzen will (bietet sich bei dem nicht gerade sparsamen XMPP-XML meines Erachtens an), muss unter Debian & Konsorten normal noch die Lua Erweiterung für zlib mittels sudo apt-get install lua-zlib herunterladen und installieren - sonst kann Prosody mit dem aktivierten Modul nichts anfangen. Danach kann man es in der Konfig-Datei aktivieren (und es läuft *g*).

Das Stream Management-Modul mod_smacks lies sich ohne weiteres einbinden und lief auf Anhieb. Jetzt braucht es nur noch bessere Client-Unterstützung, aber für Gajim ist diese in Arbeit und wird hoffentlich nicht so schändlich (bzw. einfach nicht) eingepflegt wie bei Psi. Und Swift bekommt hoffentlich bald Stream Resumption. Aber ich schweife vom Thema ab.

Was es sonst so an Modulen gibt, kann man hier (https://prosody-modules.googlecode.com/hg/) nachsehen und hier (https://code.google.com/p/prosody-modules/w/list) in den meisten Fällen eine kurze Beschreibung und Anleitung finden.

Was nicht mehr geht

Derzeit unterstützt Prosody offiziell kein Publish-Subscribe (es ist aber bereits ein Modul verfügbar), das wird sich aber vermutlich bald ändern. Ich muss zugeben, dass mir der genaue Zweck von PubSub noch nicht 100% erschlossen hat (Nachlesebedarf! *g*), aber ich habe dadurch noch keine Einschränkungen erkennen können.

Ein Webinterface ist standardmäßig nicht gegeben, als eingetragener Admin (entsprechende JIDs sind in der Konfig eingebbar) kann man aber so gut wie alles über Adhoc Kommandos einstellen, einschließlich dem Laden von Modulen). Es gibt aber auch ein Modul, welches auch via Webinterface diese Kommandos bietet, allerdings habe ich das noch nicht getestet. Einfach mal reinschnuppern.

Fazit

Ich bin sehr zufrieden! Die Migration lief mit Ausnahme der Notizen im private XML Storage erstaunlich glatt und problemlos. Dieses Problem wird aber ohnehin nur die Wenigstens tangieren. Die Module funktionieren wunderbar. Ich würde sagen, dass Prosody auf dem Besten Weg ist, State of the Art bei den offenen XMPP-Servern zu werden - wenn er das nicht schon ist. Ejabberd ist gewiss ein guter Server, der auch im großen Stile relativ gut skaliert und seit Jahren bewährt ist. Aber wenn man sich mit XMPP etwas austoben will, halte ich Prosody für die bessere Wahl. Ich hoffe, dass er mich weiterhin so begeistert und sich weiterentwickelt. Rein subjektiv habe ich übrigens das Gefühl, dass der Verbindungsaufbau jetzt schneller geht als zuvor - aber das kann auch euphorische Einbildung sein ;-D

So, vielleicht hilft das hier ja dem Einen oder der Anderen bei der Migration bzw. bei der Entscheidung zu eben dieser.