mecker. mecker. mecker.

DIASPORA*

19.02.2012, 22:27

Letzte Woche gab’s im lokalen Ha­cker­space eine kurze Einführung in das “ja-hab-ich-mal-von-gehört”-Projekt: DIASPORA*. Diaspora ist der Versuch, Facebook/Google+ dezentral mit einer quell­of­fe­nen Software aufzubauen. Das Projekt wird demnächst zwei Jahre alt und ist immer noch im Alpha-Stadium, obwohl zunächst an­ge­kün­digt wurde, innerhalb von drei Monaten fertig zu sein.

Funk­ti­ons­wei­se

Bei Diaspora heißen die einzelnen de­zen­tra­len Server Pods und sind komplett ei­gen­stän­di­ge Instanzen, die keine zentralen Knoten benötigen. Als an­schau­li­ches Beispiel nehme ich ‘mal jenaspora.de und den of­fi­zi­el­len Pod join­dia­spo­ra.com. Die Nutzer aus Jena können auf diesem Pod ohne Umwege über joindiaspora.com kom­mu­ni­zie­ren 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 Nut­zer­ken­nung 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 mit­adres­siert haben, so wird jenaspora.de den Host, in diesem Fall joindiaspora.com pushen. So läuft das wei­ter­le­sen.

polipo – a caching web proxy

29.01.2012, 20:21

In den zwei ver­gan­ge­nen Wochen habe ich viel mit Proxy-Techniken rum­ge­spielt. Anfangs noch ein SOCKSv5 über SSH getunnelt, über direkte HTTP Au­then­ti­fi­zie­rung 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 an­ony­mi­sie­ren­den Proxy im Klartext zu schicken – und langsam(er) war es auch. Für zwei Tage hatte ich auch mein SheevaPlug als caching web proxy miss­braucht, 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 Ru­he­zu­stand (wenn nicht schon nach 5 Minuten nichts tun, was zumindest mit KeepAlive gehalten werden kann, eine DSL-Zwangs­t­ren­nung überlebt das nicht). Zu spät habe ich von autossh erfahren und habe statt­des­sen 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 – re­con­nec­ten nach dem Schlafen kann es auch nicht.

Mit DSL ~4500 macht ein Setup mit einem wei­ter­le­sen.

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 un­le­ser­lich aus. Die ersten zwei Bytes beginnen wohl das interne XMPP-Protokoll, WhatsApp-Version und dann… äh ja. Dann sind da meine Te­le­fon­num­mer, Name, Ziel-Nummer (+ deren Zweit­num­mer und Ge­burts­da­tum) der Ge­sprächs­part­ne­rin.

  • Version: Android-2.7.431
  • meine Nummer: 491896312624
  • Zielnummer: 4914682512635
  • Zweit-Nummer: 4915152523662
  • Ge­burts­da­tum: 16990

Wohl­ge­merkt 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 ver­schlüs­selt – aber nur das eigene Protokoll, was mit den Nut­zer­da­ten passiert, ist ihnen egal. Ich kann mir keine Erklärung dafür geben. Re­chen­leis­tung geht ja eh schon drauf, indem das Protokoll ver­schlüs­selt wird, warum also nicht gleich noch den Rest ver­schlüs­seln? Hauptsache keiner entwickelt einen Desktop-Clienten außerhalb ihres Ein­fluss­be­rei­ches!11

Im öf­fent­li­chen Hotspot sind die Daten für jedermann lesbar, für ver­schlüs­sel­tes WLAN kann wei­ter­le­sen.

Linkschleuder #12

09.01.2012, 14:56

Es wird leider auch nicht weniger:

  • Nokias Google Maps Fork – ohne Flash, sondern in WebGL. Sehr performant und echt be­ein­dru­cken­de Qualität.
  • Wireless Android Management – ein sehr hübsches Web­in­ter­face auf Knopfdruck. So lassen sich bsw. SMS im Browser schreiben.
  • Tor bridges in the Amazon cloud – vor­ge­fer­tig­te Tor-Images für Amazons EC2, ab 3$/Monat für gut 15 GB Traffic ersten 15 GB Traffic sind kostenfrei, bei maximal 40 GiB kann das bis zu 3$/Monat kosten.
  • Pandoc – a universal document converter.
  • Lita – SQLite Ad­mi­nis­tra­ti­on Tool (mittels Adobe Air) ohne Error-Handling. Aber hübsch.
  • SQL Tutorial using SQLite und Syntax-Diagramme haben mir bei der Ent­wick­lung von weave-minimal sehr geholfen!
  • Sublime Text 2 – auch wenn ich’s schon erwähnt hatte. Der Texteditor ist derzeit das non­plus­ul­tra. Es macht so viel Spaß damit zu arbeiten.
  • GitHub Issue – ein CLI Programm für GitHub’s Issues (wer hätte das gedacht) in Node.js.

nginx

07.01.2012, 22:03

Seit heute rennt das Blog unter nginx. Der Grund ist einfach: lighttpd ist behindert zu kon­fi­gu­rie­ren, hat keine aktuellen/coolen Features und ist zudem noch langsamer als nginx. Ich hoffte seit knapp einem Jahr, dass sich in der Ent­wick­lung was tut, aber außer einer Beta-Version mit in­te­grier­tem lua-Support (um überhaupt ein if-else statt if-else-if kon­fi­gu­rie­ren zu können) und zahl­rei­chen 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 Al­ter­na­ti­ven 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 Ad­mi­nis­tra­ti­on mit und LiteSpeed Web Server ist nicht quell-offen. Also, was sind die Features von nginx?

  • schnell und leicht­ge­wich­tig
  • logische Kon­fi­gu­ra­ti­on (was ich schon für behinderte Logik-Krämpfe mit lighttpd hatte…)
  • mod_proxy, mo­d_­fast­cgi, expires, PCRE

Moving from lighttpd to nginx

Die Umstellung von lighttpd nach nginx ist nicht ganz ohne. Prin­zi­pi­ell ist alles anders und nginx hat keine Un­ter­stüt­zung für CGI und rewrite-Regeln auf Query-Parametern. Außerdem spawnt nginx nicht au­to­ma­tisch einen wei­ter­le­sen.

Linkschleuder #10

16.12.2011, 19:31
  • da­e­mon­tools – nein nicht die Daemon Tools, um äh Si­cher­heits­ko­pi­en zu mounten, sondern einen Prozess-Supervisor wie init.d und kann im userspace laufen (via).
  • runwhen – eine Art besseres cron. Un­ter­stützt z.B. direktes Ausführen eines Tasks und kann se­kun­den­ge­nau Arbeiten (via).
  • Tracks – eine nette Todoliste mit Ruby on Rails, die gerade mal lä­cher­li­che 100 MB RAM idle verbrät. Un­ter­stützt Mobil-Geräte.
  • Piwigo – your own photo gallery (in PHP und MySQL), gibt’s direkt im Repository von Debian und Ubuntu. Ganz hübsch, aber ein leichter Overkill für einen Ein­zel­nut­zer.
  • MacfusionSSH & FTP Filesystem im Userspace aka FUSE. Mit GUI!1
  • github:mac – gibt’s in Version 1.1 und un­ter­stützt unter anderem partielles Hinzufügen aka git add --patch (wenn auch sehr um­ständ­lich).
  • Lua Scripting im lighty 1.5 – könnte Grack+Redmine unnötig machen, würde es denn irgendwann Version 1.5 geben.
  • HTML nach Text kon­ver­tie­ren wei­ter­le­sen.

Vor gut zwei Wochen habe ich fest­ge­stellt, 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 kin­der­leicht.

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 re­gis­trie­ren, hängt aber an obiger URL + /user, genauer gesagt PUT /user/1.0/mein_username. Da sich die URL für den Re­gis­trie­rungs­ser­ver (der Server ist in zwei Teil­pro­jek­te 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!

Workaround in Firefox

Anstatt sich ein neues Nut­zer­kon­to zu klicken, wählt man statt­des­sen aus, dass man bereits ein Konto hat. Dafür wird allerdings wirklich ein Konto benötigt, was zu einem unschönen Weg in die Kom­man­do­zei­le führt (oder ins Web­in­ter­face, sofern der Server derartiges anbietet). Nachdem man sich auf seinem Server einen Nutzer re­gis­triert hat, geht’s weiter. Anstatt das Gerät mit dem drei-stelligen Code zu aktivieren wei­ter­le­sen.

So sehr ich das KDE-Projekt auch mag, so schlecht ist die In­te­gra­ti­on in die einzelnen Dis­tri­bu­tio­nen. Während Kubuntu fürch­ter­lich failt, bietet Arch Linux plain KDE an – ohne jegliche tie­fer­ge­hen­de In­te­gra­ti­on ins System. Debian dümpelt mit ir­gend­ei­ner uralten Version herum und eigentlich nervt KDE auch selbst, weil es für ein Desktop-System un­glaub­lich schwer­ge­wich­tig ist. So zählen Java und MySQL zu den De­pen­den­cies – für ver­gleichs­wei­se triviale Aufgaben. Das nervt. Aber besser als der Kin­der­desk­top von Gnome. Denn etwas Niveau bin ich seit Windows 7 und OS X auch schon gewohnt.

Pardus Login

So kam ich über Dis­tri­bu­ti­ons 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 of­fen­sicht­li­chen Live-CD Download nicht gesehen und musste leider Ubuntu über­schrei­ben. In­stal­la­ti­on war mehr als einfach und hat ein hübsches Qt-UI und einen selbst ge­schrie­be­nen Installer ( inPython) – bei meinem Desktop-System kam er allerdings nicht damit klar, dass FreeBSD andere Par­ti­ti­on­lay­outs nutzt und stürzt da immer ab. Da hilft’s nur, einmal mit Ubuntu anders zu par­ti­tio­nie­ren und dann geht es problemlos.

In­stal­liert ist Pardus der Hammer. wei­ter­le­sen.

Debian. Ich hasse dich.

26.08.2011, 00:21

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 wun­der­bars­ten OS aller Zeiten. Aber mal ehrlich. DEBIAN IST DRECK!

Ich kann es absolut nicht nach­voll­zie­hen, was alle an diesem be­hin­der­ten APT finden. Das Teil ist ein FAIL! Es dient der au­to­ma­ti­schen 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 ein­zu­bin­den, dann sollte ich schnells­tens 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 ein­ge­bun­den und in­stal­lie­re z.B. das neuste Python. Und ich weiß nicht wieso, aber auf einmal will er mir seinen gesamten Testing-Branch un­ter­ju­beln für eine Software, die drei Ab­hän­gig­kei­ten hat und keine davon heißt linux-kernel. Wenn ich mir dann mein System zer­schos­sen habe und merke, hey, das mit python2.7 war keine gute Idee. Ja, dann kann man entweder anfangen, mühsam dieses kack­be­hin­der­te Log-File durch­zu­se­hen wei­ter­le­sen.

written by posativImpressum

by-nc-sa