Kategorien
unbezahlte IT-Spielereien

Noch nicht ganz Google, aber

Seit gestern spiele ich mit verteilten Suchmaschinen rum – wovon es ja einige gibt. Hängengeblieben bin ich dann bei YaCy, einer in Java implementierten Lösung.

Interessant bei diesem Ansatz ist die komplette Loslösung von einer zentralen Infrastruktur, das Netzwerk funktioniert ähnlich wie ein gutes P2P-Netz komplett ohne feste Knoten. Dabei läuft auf jedem ans Netz angeschlossenen Rechner ein Crawler (sozusagen ein *sehr* ausdauernder User, der sich durch das Internet klickert) und ein Indexer, der die Suchkataloge erstellt.

Über einen eingebauten HTTP-Server können nun diese erstellten Suchkataloge im Netzwerk verteilt werden, jeder hinzukommende Knoten wirft in den Gesamtpool seine Suchergebnisse mit rein – je mehr mitmachen, desto größer wird der Gesamtsuchindex. Auf jedem der angeschlossenen Knoten kann dann eine Suchanfrage abgesetzt werden (sieht dann auch nicht viel anders aus als eine Google-Maske – hiermit wird ein zufälliger Yacy-Knoten aufgerufen) und die Ergebnisliste wird aus der verteilten Datenbank zusammengesucht.

Zusätzlich zu dem geläufigen Webcrawler-Prinzip kann die Applikation auch als Proxy arbeiten, jede angesurfte Seite wird dann automatisch indiziert und dem Suchpool hinzugefügt – die Privatsphäre wird dadurch gewährleistet, dass keine Seiten genutzt werden, die entweder einen Cookie senden oder per POST-Befehl aufgerufen werden, beides Anzeichen dafür, dass eine Benutzeridentifikation stattfand – Post aus gmail o.ä. sollte ja nicht unbedingt in einer Suchmaschine auftauchen…

Die Indexerstellung über einen Proxy hat den Charme, dass viel genutzte Webseiten auch sehr häufig indiziert werden, somit ist die Wahrscheinlichkeit für eine sehr aktuelle Trefferliste höher als bei anderen Suchmaschinen – wobei natürlich die jetzt gerade im Moment durchsuchbare Seitenzahl in den Datenbanken mit kaum 500 Mio Links nicht sehr beeindruckend ist, Google wird mit der geringen Anzahl an Nutzern kaum eingeholt werden, aber als Ziel ist es natürlich da ;) [eine andere verteilte Suchmaschine namens Majestic12 hat da ein sehr nettes Emoticon: Klick]

Kategorien
unbezahlte IT-Spielereien

Varianten

Von Widelands gibt es eine neue Version – stabiler und erweitert und diese will ich natürlich auch haben. Da das verwaltete Paket von Fedora 6 diesen Versionssprung nicht nach knapp zwei Wochen nachzieht, wurde ich selbst tätig, generell gibt es hierbei zwei Varianten.

Eine Lösung
Binary oder Sourcen laden, Skript starten, spielen.
Zeitaufwand: 15 Minuten

Meine Lösung
Source-RPM laden, Build-System einrichten, RPM-specs anpassen, mit SCons experimentieren, diverse Build-Läufe durchführen, Fedora-spezifische Patche anpassen, erneut Fehler finden, weiterrecherchieren, lauffähige Versionen ohne Internationalisierung generieren, in die Tastatatur beißen, die Entscheidung eine RPM-basierte Distribution zu nutzen verfluchen und sich APT wünschen, irgendwann Paket installieren, Webspace freiräumen, Pakete hochladen um andere davon profitieren zu lassen, spielen.
Zeitaufwand: 4 Stunden

Ich finde meine Lösung vollkommen logisch.

Widelands build 11 x86_64-RPM Fedora Core 6
Widelands build 11 src-RPM Fedora Core 6

[Update: Die beiden RPM-Links funktionieren jetzt]

Kategorien
unbezahlte IT-Spielereien

Wenn das der Schäuble wüßte oder anonymes Surfen

Nielsson hat in seinem Blogeintrag ein interessantes Thema angeschnitten, er saß in einem Cafe und wollte nicht am ungesicherten WLAN einfach so lossurfen – verständlich. Mein lapidares „nimm doch TOR“ war natürlich nicht wirklich ausführlich, daher heute mal etwas mehr zu sicherem Surfen.

Ich hoffe mal die Erläuterungen sind halbwegs verständlich, Installationsanleitungen lassen sic überall im Netz finden.

The Onion Router
TOR ist ein Verfahren zum anonymen Surfen, dabei läuft auf dem PC ein Proxy, der sich verschlüsselt zu dem TOR-Server-Netzwerk verbindet. Bewährt hat sich dabei eine Kombination aus TOR selbst, der als SOCKS-Proxy arbeitet zusammen mit Privoxy. Privoxy selbst ist ein transparenter HTTP-Proxy, der noch einige Anonymisierungen vornimmt – und mit TORButton gibt es ein Firefox-Plugin, das die Funktionalität von TOR mit Privoxy auf Mausklick zugänglich macht.

TOR - schematische Darstellung

Prinzipiell arbeit TOR über einen Entry-Server, einen zufällig ausgewählten weitern Host und einen Exit-Server, dabei kennen die TOR-Server nur die Station davor und danach, die weiteren Informationen zu Paketinhalt, Ziel und Quelle werden in Schichten verpackt (eben wie Zwiebelschalen). Der gesamte Verkehr von Quell-PC zu Exit-Server ist verschlüsselt, das Abrufen der Daten auf dem Ziel-Server jedoch nicht (außer bei SSH- oder HTTPS-Verbindungen o.ä.) – was auch ein Hauptnachteil von TOR ist, die einzenen Serverbetreiber müssen sich nicht ausweisen oder zertifizieren lassen, wer will kann beispielsweise ein Password-Sniffer auf seinem Server laufen lassen (so lief dann auch der Botschafts-Hack).

JAP
JAP als Javabasiertem HTTP-Proxyprogramm oder AN.ON als Dienstbezeichnung funktioniert ähnlich, dabei wird der Netzverkehr über mindestens zwei sogenannte Mixe geleitet – jedoch nur HTTP, HTTPS und FTP, anders als TOR lassen sich nicht alle Ports anonymisieren. Diese Mixe sammeln den Traffic von allen an der Kaskade angeschlossenen PCs und leiten ihn mit einem Proxyserver gesammelt an die angefragten Server, dieser „Datenhaufen“ ist damit nicht mehr nachvollziehbar und eine Zuordnung von Quelle und Ziel nicht mehr möglich.

JAP - schematische Darstellung

Zwischen den Clients und dem letzten Mix in der Kaskade ist der Netzverkehr verschlüsselt und mit den Daten der anderen Anwender gemischt – im Unterschied zu TOR sind die Kaskaden nicht offen, jeder Mixbetreiber wird von AN.ON zertifiziert und ist damit bekannt, ein Abfischen der Daten wie bei TOR ist daher schwerer möglich.

Kategorien
unbezahlte IT-Spielereien

31994

Nicht so interessant wie

09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0

oder

#include
typedef unsigned int uint;
char ctb[512]=“33733b2663236b763e7e362b6e2e667bd393db0643034b96de9ed60b4e0e4\
69b57175f82c787cf125a1a528fca8ac21fd999d10049094190d898d001480840913d7d35246\
d2d65743c7c34256c2c6475dd9dd5044d0d4594dc9cd4054c0c449559195180c989c11058185\
081c888c011d797df0247074f92da9ad20f4a0a429f53135b86c383cb165e1e568bce8ec61bb\
3f3bba6e3a3ebf6befeb6abeeaee6fb37773f2267276f723a7a322f6a2a627fb9f9b1a0e9a9e\
1f0b8f8b0a1e8a8e0f15d1d5584cd8dc5145c1c5485cc8cc415bdfdb5a4edade5f4bcfcb4a5e\
cace4f539793120692961703878302168286071b7f7bfa2e7a7eff2bafab2afeaaae2ff“;
typedef unsigned char uchar;uint tb0[11]={5,0,1,2,3,4,0,1,2,3,4};uchar* F=NULL;
uint lf0,lf1,out;void ReadKey(uchar* key){int i;char hst[3]; hst[2]=0;if(F==\
NULL){F=malloc(256);for(i=0;i<256;i++){hst[0]=ctb[2*i];hst[1]=ctb[2*i+1];F[i]=\ strtol(hst,NULL,16);}}out=0;lf0=(key[1]<<9)|key[0]|0x100;lf1=(key[4]<<16)|(key\ [3]<<8)|key[2];lf1=((lf1&0xfffff8)<<1)|(lf1&0x7)|0x8;}uchar Cipher(int sw1,\ int sw2){int i,a,b,x=0,y=0;for(i=0;i<8;i++){a=((lf0>>2)^(lf0>>16))&1;b=((lf1\
>>12)^(lf1>>20)^(lf1>>21)^(lf1>>24))&1;lf0=(lf0<<1)|a;lf1=(lf1<<1)|b;x=(x>>1)\
|(a<<7);y=(y>>1)|(b<<7);}x^=sw1;y^=sw2;return out=(out>>8)+x+y;} void \
CSSdescramble(uchar *sec,uchar *key){uint i;uchar *end=sec+0x800;uchar KEY[5];
for(i=0;i<5;i++)KEY[i]=key[i]^sec[0x54+i];ReadKey(KEY);sec+=0x80;while(sec!=\ end)*sec++=F[*sec]^Cipher(255,0);}void CSStitlekey1(uchar *key,uchar *im) {uchar k[5];int i; ReadKey(im);for(i=0;i<5;i++)k[i]=Cipher(0,0);for(i=9;i>=0;\
i–)key[tb0[i+1]]=k[tb0[i+1]]^F[key[tb0[i+1]]]^key[tb0[i]];}void CSStitlekey2\
(uchar *key,uchar *im){uchar k[5];int i;ReadKey(im);for(i=0;i<5;i++)k[i]=\ Cipher(0,255);for(i=9;i>=0;i–)key[tb0[i+1]]=k[tb0[i+1]]^F[key[tb0[i+1]]]^key\
[tb0[i]];}void CSSdecrypttitlekey(uchar *tkey,uchar *dkey){int i;uchar im1[6];
uchar im2[6]={0x51,0x67,0x67,0xc5,0xe0,0x00};for(i=0;i<6;i++)im1[i]=dkey[i]; CSStitlekey1(im1,im2);CSStitlekey2(tkey,im1);}

aber wer die letzten Tage mein Blog gelesen hat wird die Funktion des Codes erkennen ;)

Kategorien
unbezahlte IT-Spielereien

Wenn’s mal wieder Windows sein muss

Bekanntlichermaßen habe ich ja keinen Windows-Rechner*, manchmal benötige ich jedoch auch von zu Hause aus zum testen Zugriff auf eines der Redmonder Produkte.

Was liegt da näher als den sowieso vorhandenen Terminalserver beim Arbeitgeber zu verwenden?

Prinzipiell ja kein Problem – ein SSH-Tunnel auf Port 3389 öffnen und schon funktioniert ein rdesktop 127.0.0.1 – was mir aber auf Dauer zu nervig ist, das muß doch auch einfacher auf Knopfdruck funktionieren.

Deshalb hier mal ein kleines Kochrezept:

– ssh auf die Firewall ohne Passwort einrichten (How-To)
– Skript erstellen, mit dem Inhalt

#!/bin/bash
ssh [Username]@[FDQN der Firewall] -f -N -L 3389:[Hostname Terminalserver]:3389
rdesktop [benötigte Optionen] 127.0.0.1

Das Skript anschließend sinnvollerweise im Menü unterbringen, ich habe das direkt im Gnome-Panel abgelegt und dazu die Icons für Windows-Connect und Application-Internet verheiratet, damit es eindeutig unterscheidbar ist zu dem TS-Connect im Intranet von $AG – sieht dann bei mir so aus.

Terminalserver lokalTerminalserver remote

*) Mein Windwos-Desktop-Rechner zusammen mit einem Haufen Bücher ist ja noch in Senden

Kategorien
unbezahlte IT-Spielereien

ICQ ist komisch

Zumindestens mit dem Multiprotokoll-Messenger Pidgin kann man ICQ-Benutzer nur dann blockieren, wenn man sie erst auf die Buddy-Liste gesetzt hatte.

Kategorien
unbezahlte IT-Spielereien

Plattentausch – einfach und lecker

Die Festplatte in meinem Laptop ist schon seit einiger Zeit am sterben – die Symptome sind die altbekannten, sehr unangenehmes Klackern und S.M.A.R.T. wollte mit dem meckern einfach nicht aufhören. Ich habe mir dann doch mal eine neue HDD besorgt und möchte natürlich das Kochrezept niemand vorenthalten.

Zutaten

  • ein Computer mit (fast) defekter Festplatte
  • eine Ersatzfestplatte (gleiche oder höhere Kapazität als die ursprüngliche)
  • eine externe oder interne Festplatte mit einem freien Speicherplatz der mindestens der ursprünglichen Plattenkapazität entspricht
  • eine Knoppix-CD oder -DVD

Zubereitung

Zuerst bootet man den Rechner mit der Knoppix-CD und klickt auf dem Desktop auf das Symbol für den Zielort der Datensicherung (damit wird das Medium gemountet, läßt sich natürlich auch per Konsole erledigen). Auf einer Shell kopiert man anschließend die gesamte ursprüngliche Festplatte (bei mir /dev/hda) mit dd bitweise auf das Speichermedium (hier /media/sda1), ich habe dazu direkt dd_rescue genutzt, welches bei Fehlern nicht abbricht. Komplett sah der Befehl bei mir so aus:

dd_rescue /dev/hda /media/sda1/hda_backup

Das ganze läßt man anschließend ganz nach Geschmack köcheln (bei mir war es eine 60er-Platte mit einer Transferrate von 14 MB pro Sekunde). Nachdem das Abbild fertig geschrieben wird die alte Platte ersetzt – bei Fujitsu-Siemens-Rechnern sind dazu insgesamt 5 Schrauben und etwas Gefummel beim einfädeln notwendig.
HDD-Tausch
Nachdem der Rechner wieder mit Knoppix gebootet wurde, passiert die Kopie wieder genau umgekehrt, in meinem Fall also mit

dd_rescue /media/sda1/hda_backup /dev/hda

Auch hier ist die Zeit wieder abhängig von der Geschwindigkeit, in diese Richtung waren es bei mir 18 MB/s.

An sich fehlt nur noch ein Rechnerneustart (vorher das Knoppix-Medium rausnehmen…) und der Rechner hat eine schöne neue Festplatte mit dem identischem Inhalt.

Für den Fall, dass die neue HDD größer ist, kann der nun freie Platz anderweitig genutzt werden – nach dem Klick auf weiterlesen habe ich noch meinen Kampf mit dem vergrößern einer LVM-Volume unter Fedora 6 geschildert.

Kategorien
unbezahlte IT-Spielereien

rm -rf /

Es wäre dann soweit – nach dem Bundestag und Bundesrat hat der Bundespräsident seine Unterschrift unter das tolle neue Gesetz zur Verhinderung von sorgfältiger IT-Tätigkeit – bestimmt ist das bald an dieser Stelle ohne PDF-Viewer zu lesen.

[Der Satz stimmt übrigens nicht ganz – der Bundeshorst hat noch nicht mal selbst sein Servus drunter gesetzt sondern dies an den Bundesratspräsidenten abgegeben. Wenn ich schon illegal werde möchte ich das doch zumindestens von ganz oben schriftlich bestätigt haben :( ]

Ich gehe dann mal Unixsysteme löschen…

Kategorien
unbezahlte IT-Spielereien

Data-Mining für Anfänger

Mal schauen ob das nicht irgendwann in Google nach oben rutscht – wäre ja gelacht, wenn man den StudiVZlern nicht eins auswischen kann – hier noch der Link für die Suchmaschinenspider: Datamining für Anfänger

Ich hab ja noch einige Domains mehr zum rumspielen, mal schauen ob da was bei rauskommt…

Unter Data-Mining versteht man die Anwendung von (statistisch-mathematischen) Methoden auf einen Datenbestand mit dem Ziel der Mustererkennung. Dabei finden insbesondere solche Methoden Anwendung, die hervorragende Laufzeiten haben, weshalb Data-Mining oft im Zusammenhang mit großen Datenbeständen genannt wird. Gleichwohl ergeben sich durch den Verzicht auf Modellannahmen über den Datenentstehungsprozess auch bei kleinen Datenbeständen interessante Anwendungsmöglichkeiten. (aus Wikipedia)

Kategorien
unbezahlte IT-Spielereien

Was auf die Ohren – mit Umwegen

Ich bin heute zu hause um endlich mal das blöde Java-Tool, welches ich bei $AG erbte, fertig zu entwickeln – programmieren geht nur mit Musik, weshalb ich eigentlich meinen Zweitlaptop auf der Anlage stehen habe, um last.fm zu hören. Leider ist bei denen gerade der Streaming-Server kaputt – und Lust meine Musiksammlung vom Linux-Laptop auf die Winschüssel zu kopieren hatte ich auch nicht.

Folgende Lösung habe ich gefunden:

  • In Rhythmbox den DAAP-Streaming-Service aktivieren
  • Auf dem zweiten Laptop iTunes installieren
  • Bemerken, dass die Firewall auf Fedora den Port TCP/3689 nicht durchläßt
  • Im iTunes auf die komplette Bibliothek von Rhythmbox zugreifen – inklusive aller Playlisten

Geht doch – sogar ohne großes Hängen und Würgen.

[Update: iTunes spricht kein OGG – aber es gibt dieses Quicktime-Plugin, welches recht gut funktioniert – jetzt klingt nicht mehr jedes OGG-Stück wie Volksmusik für Hunde oder Beethoven auf Speed (gefunden dank diesem Blogeintrag)]