Letzte Woche gab’s im lokalen Hackerspace eine kurze Einführung in das “ja-hab-ich-mal-von-gehört”-Projekt: DIASPORA*. Diaspora ist der Versuch, Facebook/Google+ dezentral mit einer quelloffenen Software aufzubauen. Das Projekt wird demnächst zwei Jahre alt und ist immer noch im Alpha-Stadium, obwohl zunächst angekündigt wurde, innerhalb von drei Monaten fertig zu sein.
Bei Diaspora heißen die einzelnen dezentralen Server Pods und sind komplett
eigenständige Instanzen, die keine zentralen Knoten benötigen. Als
anschauliches Beispiel nehme ich ‘mal jenaspora.de und den offiziellen
Pod joindiaspora.com. Die Nutzer aus Jena können auf diesem Pod ohne
Umwege über joindiaspora.com kommunizieren und fällt dieser aus, kümmert das
niemanden. Wenn sich ein Freund von mir nun auf joindiaspora.com angemeldet
hat, ich aber auf jenaspora.de verweile, so gibt es nun eine Anfrage über
das webfinger-Protokoll, ob die Nutzerkennung userid@domain.tld auf dem
jeweiligen Host vorhanden ist und falls ja, merkt sich joindiaspora.com
diese Verbindung.
Sollte nun ein Nutzer aus jenaspora.de in seinem Posting über die Aspekte (das ist das Zirkel-pendant zu Google+) den Nutzer vom anderen Pod mitadressiert haben, so wird jenaspora.de den Host, in diesem Fall joindiaspora.com pushen. So läuft das …weiterlesen.
In den zwei vergangenen Wochen habe ich viel mit Proxy-Techniken rumgespielt.
Anfangs noch ein SOCKSv5 über SSH getunnelt, über direkte HTTP
Authentifizierung mit polipo und Privoxy im Chaining auf einem 128
MiB RAM Host in der Schweiz. Leider entsprach das nicht direkt meinem
Wunsch, den Verkehr bis zum anonymisierenden Proxy im Klartext zu schicken –
und langsam(er) war es auch. Für zwei Tage hatte ich auch mein SheevaPlug als
caching web proxy missbraucht, nur machte das in der Verbindung mit Privoxy
nicht allzu viel Spaß: über 3 Sekunden für ein Aufruf von spiegel.de.
Das primäre Problem mit SSH war das Abbrechen der Verbindung in jedem Fall
nach dem Ruhezustand (wenn nicht schon nach 5 Minuten nichts tun, was
zumindest mit KeepAlive gehalten werden kann, eine DSL-Zwangstrennung
überlebt das nicht). Zu spät habe ich von autossh erfahren und habe
stattdessen mit der Äpp Tunneler bzw. dessen Nachfolger TunnelerX
(free as in free beer) gespielt, wo letzteres zwar die Ports richtig
hinbekommt, nur ersteres aber die SOCKSv5-Verbindung – reconnecten nach dem
Schlafen kann es auch nicht.
Mit DSL ~4500 macht ein Setup mit einem …weiterlesen.
WhatsApp kennt sicherlich jeder Smartphone-Nutzer. Hat über zwei Millionen aktive Nutzer zu jeder Stunde und ist für jede mobile Plattform verfügbar, leider nur nicht für den Desktop. Das lässt sich ja vielleicht ändern, dachte ich mir und schmiss WireShark an:
WA............Android-2.7.431.........~.......Z*.....8..........~._......Xbm9uY2
U9IjE4ODAwNzM1MDU3OS IscW9wPSJhdXRoIixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzc
w==.........cmVhbG09InMud2hhdHNhcHAubmV0IixyZXNwb25zZT0yZTY4M2U0YjlhNTA2ODdhMmN
mODA3NDQ1MTMxODM3Yyxub25jZT0iMTg4MDA3MzUwNTc5IixkaWdlc3QtdXJpP SJ4bXBwL3Mud2hhdH
NhcHAubmV0Iixjbm9uY2U9IjFtOWRzdGM2NzY1ZHQiLHFvcD1hdXRoLHVzZXJuYW1lPSI0OTE2MzYzMT
A2MTMiLG5jPTAwMDAwMDAx.#.......Rj#.13050253130. 1620558113....t8..+......t..a..
Ich....HC..:....{.M....Ua$....HC..2.:..........,..H8...491896312624.C../..../...
404......J......H8.C..2.........s<C..APA91bHEmfHjKPpBwu3MJLCOtK4hFMwe0ZWHdXimFDr1
pxIa18rznmbZ6FLB-7pFMVwX0GJiVPcUWCaAvnwTR0O_LVfEENMr--GtpzSy2FbWtq1IKSOG9_Z0N6Kz
LlIit9JaKaui47VY....t......491521283131..!..HC..3.:....491521283131.....{.L.)..H8
...491721883139.C..3......{.L...16990....t.....4914682512635.."..HC..4.:...
4914682512635.....{.L.+..H8..4915152523662.C..4......{.L...128494....t......t8..
.491896312624.
Sieht ziemlich unleserlich aus. Die ersten zwei Bytes beginnen wohl das interne XMPP-Protokoll, WhatsApp-Version und dann… äh ja. Dann sind da meine Telefonnummer, Name, Ziel-Nummer (+ deren Zweitnummer und Geburtsdatum) der Gesprächspartnerin.
Wohlgemerkt ist das ein Dump, wenn ich die App einfach öffne. Wenn Text kommt, dann ist da etwas weniger (Nachricht: Ich doch nicht xD).
.F..]....4914682512635...C..316008602-1......O..........Ich doch nicht xD.@..]8
...4914682512635.C..316008602-1........O....C..316008602-1...
Ich war etwas erstaunt. WhatsApp verschlüsselt – aber nur das eigene Protokoll, was mit den Nutzerdaten passiert, ist ihnen egal. Ich kann mir keine Erklärung dafür geben. Rechenleistung geht ja eh schon drauf, indem das Protokoll verschlüsselt wird, warum also nicht gleich noch den Rest verschlüsseln? Hauptsache keiner entwickelt einen Desktop-Clienten außerhalb ihres Einflussbereiches!11
Im öffentlichen Hotspot sind die Daten für jedermann lesbar, für verschlüsseltes WLAN kann …weiterlesen.
Es wird leider auch nicht weniger:
Seit heute rennt das Blog unter nginx. Der Grund ist einfach: lighttpd ist behindert zu konfigurieren, hat keine aktuellen/coolen Features und ist zudem noch langsamer als nginx. Ich hoffte seit knapp einem Jahr, dass sich in der Entwicklung was tut, aber außer einer Beta-Version mit integriertem lua-Support (um überhaupt ein if-else statt if-else-if konfigurieren zu können) und zahlreichen Won’t fixes für 1.4.x hat sich leider rein gar nichts getan.
Warum nginx? Ja, das weiß ich auch nicht, aber die Alternativen zu
non-Apache mit geringem Memory-Footprint, vielen Features und opensource sehen
schlecht aus. thttpd hat kein mod_proxy, Cherokee bringt gleich
ein Web-GUI zur Administration mit und LiteSpeed Web Server ist nicht
quell-offen. Also, was sind die Features von nginx?
Die Umstellung von lighttpd nach nginx ist nicht ganz ohne. Prinzipiell ist alles anders und nginx hat keine Unterstützung für CGI und rewrite-Regeln auf Query-Parametern. Außerdem spawnt nginx nicht automatisch einen …weiterlesen.
init.d und kann im userspace laufen
(via).cron.
Unterstützt z.B. direktes Ausführen eines Tasks und kann sekundengenau
Arbeiten (via).git
add --patch (wenn auch sehr umständlich).Vor gut zwei Wochen habe ich festgestellt, dass es irgendwie unmöglich ist, einen eigenen Server für Firefox Sync zu nehmen. Aber so unmöglich ist es dann gar nicht. Wenn man weiß, wie behindert das Setup ist, dann ist das kinderleicht.
Was nicht geht: ein neues Konto auf dem eigenen Server anlegen. Warum? Weil
Mozilla diese Service-URL auth.services.mozilla.com fest in den
Firefox kodiert hat. Die API, um sich zu registrieren, hängt aber an obiger
URL + /user, genauer gesagt PUT /user/1.0/mein_username. Da sich die URL
für den Registrierungsserver (der Server ist in zwei Teilprojekte unterteilt,
server-reg und server-full) nicht einmal in der about:config einstellen
lässt, wird dieser Workaround genutzt. Wir wissen ja, 89 people have this
problem. I have this problem, too!
Anstatt sich ein neues Nutzerkonto zu klicken, wählt man stattdessen aus, dass man bereits ein Konto hat. Dafür wird allerdings wirklich ein Konto benötigt, was zu einem unschönen Weg in die Kommandozeile führt (oder ins Webinterface, sofern der Server derartiges anbietet). Nachdem man sich auf seinem Server einen Nutzer registriert hat, geht’s weiter. Anstatt das Gerät mit dem drei-stelligen Code zu aktivieren …weiterlesen.
So sehr ich das KDE-Projekt auch mag, so schlecht ist die Integration in die einzelnen Distributionen. Während Kubuntu fürchterlich failt, bietet Arch Linux plain KDE an – ohne jegliche tiefergehende Integration ins System. Debian dümpelt mit irgendeiner uralten Version herum und eigentlich nervt KDE auch selbst, weil es für ein Desktop-System unglaublich schwergewichtig ist. So zählen Java und MySQL zu den Dependencies – für vergleichsweise triviale Aufgaben. Das nervt. Aber besser als der Kinderdesktop von Gnome. Denn etwas Niveau bin ich seit Windows 7 und OS X auch schon gewohnt.
So kam ich über Distributions Shipping KDE zu Pardus. Ich hatte
langeweile und habe es in einem virtuellen Würfel mal rasch angeworden. Leider
war ich zu blöd und hatte den offensichtlichen Live-CD Download nicht
gesehen und musste leider Ubuntu überschreiben. Installation war
mehr als einfach und hat ein hübsches Qt-UI und einen selbst geschriebenen
Installer ( inPython) – bei meinem Desktop-System kam er allerdings nicht
damit klar, dass FreeBSD andere Partitionlayouts nutzt und stürzt da immer ab.
Da hilft’s nur, einmal mit Ubuntu anders zu partitionieren und dann geht es problemlos.
Installiert ist Pardus der Hammer. …weiterlesen.
Meine Server laufen alle mit Debian. Debian Squeeze, das einzige OS, das Software mitliefert, die noch älter als die bei OS X ist. Debian, dem wunderbarsten OS aller Zeiten. Aber mal ehrlich. DEBIAN IST DRECK!
Ich kann es absolut nicht nachvollziehen, was alle an diesem behinderten APT finden. Das Teil ist ein FAIL! Es dient der automatischen Dependency-Auflösung, aber wie oft brauche ich denn diese übelste Dependency-Auflösung, wenn ich eh nur ein Repository nutze – nämlich das von Debian. Und sollte ich nur kurz auf die Idee kommen, mal ein anderes einzubinden, dann sollte ich schnellstens das komplette System sichern. Denn eins steht fest: einmal apt-get install/upgrade ausgeführt und es gibt NIE, NIE WIEDER ein Zurück.
Nun gut, dann habe ich ein testweise anderes Repository eingebunden und
installiere z.B. das neuste Python. Und ich weiß nicht wieso, aber auf einmal
will er mir seinen gesamten Testing-Branch unterjubeln für eine Software, die
drei Abhängigkeiten hat und keine davon heißt linux-kernel. Wenn ich mir
dann mein System zerschossen habe und merke, hey, das mit python2.7 war
keine gute Idee. Ja, dann kann man entweder anfangen, mühsam dieses
kackbehinderte Log-File durchzusehen …weiterlesen.