<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Daniels Blog</title>
	<atom:link href="http://www.daniel-ritter.de/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.daniel-ritter.de/blog</link>
	<description>Meine analoge Digitalwelt</description>
	<lastBuildDate>Mon, 14 May 2012 12:11:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Android Kontakte und Kalender ohne Google syncen mit Horde 4</title>
		<link>http://www.daniel-ritter.de/blog/android-kontakte-und-kalender-ohne-google-syncen-mit-horde-4</link>
		<comments>http://www.daniel-ritter.de/blog/android-kontakte-und-kalender-ohne-google-syncen-mit-horde-4#comments</comments>
		<pubDate>Thu, 26 Apr 2012 12:51:17 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[activesync]]></category>
		<category><![CDATA[exchange]]></category>
		<category><![CDATA[horde]]></category>
		<category><![CDATA[ohne google]]></category>
		<category><![CDATA[sync]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1182</guid>
		<description><![CDATA[Ich wollte meine persönlichen Daten nie Google geben und habe deswegen unter Android bisher auf das Syncen von Kalender und Adressbuch verzichtet. Als Notlösung habe ich regelmässige Backups mit My Backup Pro angefertigt. Schön war das allerdings nicht. Da ich inzwischen auch ein Android-Tablet besitze wurde syncen noch wichtiger. Zum Glück lässt sich das inzwischen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/424px-Not-synchronized.svg_.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/424px-Not-synchronized.svg_-212x300.png" alt="" title="424px-Not-synchronized.svg" width="212" height="300" class="alignleft size-medium wp-image-1211" /></a>Ich wollte meine persönlichen Daten nie Google geben und habe deswegen unter Android bisher auf das Syncen von Kalender und Adressbuch verzichtet. Als Notlösung habe ich regelmässige Backups mit <a href="http://www.rerware.com/" title="MyBackup Pro">My Backup Pro</a> angefertigt. Schön war das allerdings nicht. Da ich inzwischen auch ein Android-Tablet besitze wurde syncen noch wichtiger. Zum Glück lässt sich das inzwischen komplett mit Open Source Software bewerkstelligen, falls die Android-Geräte "Microsoft Active Sync" unterstützen. Mit dieser Sync-Methode kann man seinen Androiden normalerweise an ein Exchange-Konto anbinden. Die kostenlose Groupware <A HREF="http://www.horde.org">Horde</A> bietet seit Version 4 allerdings auch einen kompatiblen ActiveSync-Server an. Damit steht der Android Synchronisation über mehrere Devices mit dem eigenen Server nichts mehr im Wege. </p>
<p>Grundvoraussetung ist ein eigener Linux-Server mit Apache und MySQL.</p>
<p><b>Zunächst muss Horde 4 installiert werden:</b></p>
<pre>
# Die Packetierung von Horde 4 läuft über PEAR
apt-get install pear

# PEAR auf den neuesten Stand bringen
pear upgrade pear

# Den Horde-Channel dem lokalen Pear bekannt machen
pear channel-discover pear.horde.org

# Horde Installationsverzeichnis konfigurieren
pear install horde/horde_role
pear run-scripts horde/horde_role

# Hier wird nach einem Installationsverzeichnis für Horde 4 gefragt.
# In meinem Beispiel ist es /var/www/horde4

# Horde installieren
pear install -a -B horde/webmail

# Horde Konfiguration umbenennen, um Horde zu aktivieren
cd /var/www/horde4/config
cp ./conf.php.dist ./conf.php

# Dem Webserver Rechte auf alle Horde-Files geben
chown -R www-data /var/www/horde4
</pre>
<p><B>Datenbank für Horde in MySQL anlegen:</B></p>
<p>Horde benötigt eine Datenbank in MySQL. In meinem Beispiel habe ich für Horde mit <a href="http://www.phpmyadmin.net/">PHPMyAdmin</a> den Benutzer "horde4" und die Datenbank "horde4" angelegt.</p>
<p><b>Horde über den Webbrowser konfigurieren:</b></p>
<p>Horde kann nun über den Webbrowser konfiguriert werden. Dazu öffnet man im Browser http://www.meinserver.de/horde4 . Da noch nicht konfiguriert wurde, welche Authentifizierung Horde nutzt, wird man direkt als Administrator der Installation eingeloggt.</p>
<p><b>Datenbank konfigurieren:</B><br />
(Administration -> Konfiguration -> Horde -> Database)</p>
<p>Hier die Daten zur angelegten MySQL Datenbank eintragen:<br />
<a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/horde_db.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/horde_db.png" alt="" title="horde_db" width="690" height="561" class="alignleft size-full wp-image-1192" /></a></p>
<p><b>Horde Authentifizierung konfigurieren:</b></p>
<p>Horde benötigt ein Backend um den Benutzernamen und das Passwort zu überprüfen. Horde bietet dafür viele verschiedene Möglichkeiten an. Der Einfachheit halber kann man hier das Password-File benutzen (/etc/passwd). Der User muss dann nur im lokalen System angelegt werden:</p>
<pre>
adduser horde_user
</pre>
<p>(Administration -> Konfiguration -> Horde -> Authentication)<br />
<a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/horde_auth.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/horde_auth.png" alt="" title="horde_auth" width="843" height="589" class="alignleft size-full wp-image-1194" /></a></p>
<p><b>Datenbanktabellen für Horde anlegen:</b></p>
<p>Horde konnte bisher die eigenen Datenbanktabellen in MySQL noch nicht anlegen, da wir ihm eben erst die MySQL-Benutzerdaten mitgeteilt haben. Um die Tabellen anzulegen besucht man die Hauptseite der Konfiguration und wählt "Alle DB-Schemata aktualisieren", bis das Ganze so aussieht:</p>
<p>(Administration -> Konfiguration)</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/horde_aktuell.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/horde_aktuell.png" alt="" title="horde_aktuell" width="1041" height="504" class="alignleft size-full wp-image-1197" /></a></p>
<p>Ab sofort sollte man sich in Horde mit dem Benutzer "horde_user" und dem beim adduser-Kommando gewählten Passwort einloggen können.</p>
<p><b>Apache konfigurieren</b></p>
<p>Damit Android an Horde syncen kann, muss noch ein Alias in die Apache-Konfiguration eingetragen werden:</p>
<pre>
#/etc/apache2/httpd.conf
Alias /Microsoft-Server-ActiveSync /var/www/horde4/rpc.php
</pre>
<p>Das ist notwendig, da Active-Sync Clients automatisiert die URL /Microsoft-Server-ActiveSync aufrufen, wenn sie mit ihrem Server connecten. Horde händelt die Synchronisation allerdings über die Datei rpc.php</p>
<p>Danach muss Apache seine Konfiguration neu laden lassen:</p>
<pre>
/etc/init.d apache2 reload
</pre>
<p>Wenn alles geklappt hat, sollte man nun auf seinem Androiden Sync-Konten einrichten können:</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_1.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_1.png" alt="" title="android_1" width="320" height="480" class="alignleft size-full wp-image-1199" /></a></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_2.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_2.png" alt="" title="android_2" width="320" height="480" class="alignleft size-full wp-image-1200" /></a></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_3.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_3.png" alt="" title="android_3" width="320" height="480" class="alignleft size-full wp-image-1201" /></a></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_4.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/android_4.png" alt="" title="android_4" width="320" height="480" class="alignleft size-full wp-image-1202" /></a></p>
<p>Mit diesem Setup Synce ich erfolgreich zwischen Horde, einem Sony Ericsson Xperia Mini Pro und einem Samsung Galaxy Tab.</p>
<p><b>Fallstricke:</b></p>
<ul>
<li>Ich hatte zunächst mit doppelten Kontakten und Kalendereinträgen zu kämpfen. Am Besten exportiert man zunächst alle Kontakte und den Kalender aus dem Handy und importiert sie in Horde. Danach löscht man alle Daten auf dem Handy und lässt sie von Horde wieder in das angelegte Active-Sync-Konto auf dem handy schieben. Horde bietet viele verschiedene Möglichkeiten an Daten zu importieren. (Organisieren -> Kalender -> Import/Export) und (Organisieren -> Adressbuch -> Import/Export). Den Kalender bekommt man zum Beispiel aus Android gut mit der App "iCal Import/Export" heraus. Mein SONY bot für den Export der Kontakte selbst die Möglichkeit an, diese in ein VCard-File zu exportieren. Aber auch hier gibt es sicher eine geeignete Lösung bei Google Play.
<li>Die Horde Authentifizierung per /etc/passwd sollte wie oben beschrieben funktionieren. Ich habe sie allerdings nur der Einfachheit halber für dieses Howto gewählt und nicht getestet, da ich selbst Horde an meinem IMAP-Server authentifiziere.
<li> Als ich angefangen habe die Syncerei zu testen, funktionierte es zuerst nur mit meinem Tablet und nicht mit dem Handy. Nach 1 Stunde frickeln war der Fehler gefunden: Android synct nicht, wenn der interne Speicher zu voll ist. Nachdem ich ein paar Apps auf die SD-Karte verschoben hatte, ging es sofort.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/android-kontakte-und-kalender-ohne-google-syncen-mit-horde-4/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vertragskündigung bei Blau.de mit Rufnummernmitnahme</title>
		<link>http://www.daniel-ritter.de/blog/vertragskundigung-bei-blau-de-mit-rufnummernmitnahme</link>
		<comments>http://www.daniel-ritter.de/blog/vertragskundigung-bei-blau-de-mit-rufnummernmitnahme#comments</comments>
		<pubDate>Wed, 18 Apr 2012 14:14:06 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Mobilfunk]]></category>
		<category><![CDATA[blau rufnummernmitnahme sim wechsel yourfone]]></category>
		<category><![CDATA[blau.de]]></category>
		<category><![CDATA[portierung]]></category>
		<category><![CDATA[rufnummernmitnahme]]></category>
		<category><![CDATA[yourfone]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1171</guid>
		<description><![CDATA[Ich war bisher bei BLAU als Mobilfunkanbieter, da es das günstigste Angebot ohne Vertragsbindung für Vieltelefonierer war. Ich habe für alle SMS, alle Gespräche in alle deutschen Netze und für Internet EUR 39,95 / Monat gezahlt. Da es seit gestern einen neuen Kampfpreis bei Yourfone für EUR 24,90 ohne Vertragsbindung gibt, war es mal wieder [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/315964896682.jpg"><img class="alignleft size-medium wp-image-1217" title="yourfone_blau" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/04/315964896682-300x225.jpg" alt="" width="300" height="225" /></a>Ich war bisher bei <a title="BLAU.de" href="http://www.blau.de">BLAU</a> als Mobilfunkanbieter, da es das günstigste Angebot ohne Vertragsbindung für Vieltelefonierer war. Ich habe für alle SMS, alle Gespräche in alle deutschen Netze und für Internet EUR 39,95 / Monat gezahlt.</p>
<p>Da es seit gestern einen neuen Kampfpreis bei <a title="Yourfone" href="http://www.yourfone.de">Yourfone</a> für EUR 24,90 ohne Vertragsbindung gibt, war es mal wieder an der Zeit zu wechseln. Zwar sind in dem Preis SMS nicht inklusive, aber da ich ohnehin kaum über 10 SMS im Monat komme, war auch das kein Hindernis.</p>
<p>Hätte ich meine Rufnummer nicht portieren wollen, hätte ich gar nichts tun müssen. Die SIM-Karte wird nach Ende des Aktivitätszeitraumes automatisch deaktiviert.</p>
<p>Da ich meine Handynummer jedoch mitnehmen wollte zum neuen Anbieter, war folgendes Vorgehen notwendig:</p>
<ul>
<li>Blau.de Hotline anrufen und um Zusendung des Formulares "Verzichtserklärung zur Rufnummernmitnahme" bitten.</li>
<li>Formular ausfüllen und an BLAU faxen</li>
<li>EUR 24,95 Mitnahmegbühr (bekommt man vom neuen Anbieter zurück) an BLAU überweisen</li>
<li>Auf Bestätigung der Freigabe der eigenen Rufnummer von BLAU per E-Mail warten</li>
<li>Beim neuen Anbieter mit Rufnummernmitnahme anmelden</li>
</ul>
<p>Ich war sehr zufrieden mit BLAU, jedoch sind die EUR 15 Ersparnis / Monat ein Argument, dem ich mich nicht verschließen konnte <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ich hoffe der Service bei Yourfone ist gut, ansonsten ist die Auswahl ja zur Zeit sehr groß.</p>
<p>&nbsp;</p>
<p><strong>03.05.2012</strong></p>
<p>Erste Ernüchterungen. Ich habe bisher weder eine Nachricht von BLAU, noch eine von Yourfone erhalten. Beim  Anruf auf der Yourfone 0800er Hotline erfuhr ich, dass meine Portierung fehlgeschlagen sei. BLAU hat die Portierung abgelehnt, da nicht die gleichen Daten bei BLAU und Yourfone hinterlegt worden sind, was definitiv nicht korrekt ist. Hätte ich mich nicht persönlich gemeldet, wäre die Sache wohl im Sande verlaufen. Der Hotliner bat mich die Daten noch einmal zu überprüfen und die Portierung dann erneut anzustoßen. Nach Überprüfung ging dann leider der bekannte Hotline-Terror los. Bei einem erneuten Anruf auf der 0800er-Hotline wollte mir die Hotlinerin nicht bei meinem Problem helfen, da sie nur Neubestellungen aufnehmen könne. Für mein Problem sollte ich die 0900er Hotline anrufen. Sie wollte mir allerdings eine erneute Bestellung entlocken, die ich abgelehnt habe, da ich nicht mit zwei SIM-Karten zuhause sitzen wollte. Ich bin inzwischen sehr vorsichtig damit bei Telcos internes Verwaltungschaos zu generieren. Die sehr widerwillig angewählte 0900er Hotline war über mein Sipgate-VoiP-Festnetz nicht erreichbar.</p>
<p>Also habe ich erneut eine Mail an kundenbetreuung@yourfone.de und portierung@yourfone.de geschrieben und darum gebeten meine Portierung erneut zu überprüfen. Die Portierungs-Adresse wurde extra für Portierungsprobleme eingerichtet.</p>
<p>&nbsp;</p>
<p><strong>07.05.2012</strong></p>
<p>Antwort von Yourfone, dass die Portierung erneut versucht wurde.</p>
<p>&nbsp;</p>
<p><strong>11.05.2012</strong></p>
<p>Mail von Yourfone, dass die Portierung erfolgreich angestossen wurde und dass ich ab dem 14.05. über Yourfone geschaltet sein werde.</p>
<p>Versandbestätigung meiner SIM-Karte.</p>
<p>&nbsp;</p>
<p><strong>14.05.2012</strong></p>
<p>Morgens funktioniert mein Handy nicht mehr. Meine BLAU-Karte darf sich nicht mehr einbuchen.</p>
<p>Im Briefkasten liegt meine neue Yourfone-SIM. Sie muss online oder telefonisch aktiviert werden. Ich wähle die Online-Aktivierung. Ca. 30 Minuten später ist meine Yourfone-SIM aktiv. Ich bekomme sofort Konfigurationsnachrichten für Daten und MMS. Ich bin online im (alten) neuen Netz. Geschafft!</p>
<p>Ein erster Test der Internetverbindung war erschreckend. Ein Newsartikel benötigte ca. 30 Sekunden um zu laden. Glücklicherweise lag das nicht an Yourfone sondern an meinem Android-Handy. Durch die Konfigurationsnachricht von Yourfone wurde auch ein WAP-Zugangspunkt im Handy hinterlegt, den mein Android als default genommen hatte. Nach Entfernen des WAP-Zugangspunktes hatte ich mit dem Internet-Profil eine (gefühlt) bessere Performance als mit BLAU.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/vertragskundigung-bei-blau-de-mit-rufnummernmitnahme/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Beliebige Videodateien mit ffmpeg für die PS3 in H264 konvertieren</title>
		<link>http://www.daniel-ritter.de/blog/beliebige-videodateien-mit-ffmpeg-fur-die-ps3-in-h264-konvertieren</link>
		<comments>http://www.daniel-ritter.de/blog/beliebige-videodateien-mit-ffmpeg-fur-die-ps3-in-h264-konvertieren#comments</comments>
		<pubDate>Tue, 20 Mar 2012 20:27:19 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[ffmpeg]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1154</guid>
		<description><![CDATA[Nach viel Sucherei und Ausprobiererei habe ich jetzt endlich herausgefunden, wie ich in möglichst guter Qualität und möglichst kleiner Dateigröße Dateien für den Mediaplayer der PS3 mit ffmpeg konvertieren kann. Die Videodateien jedes beliebigen Formates das ffmpeg unterstützt kommen in das konfigurierbare INDIR. Die konvertierten, auf der PS3 abspielbaren, Dateien landen in OUTDIR. #!/bin/bash # [...]]]></description>
			<content:encoded><![CDATA[<p>Nach viel Sucherei und Ausprobiererei habe ich jetzt endlich herausgefunden, wie ich in möglichst guter Qualität und möglichst kleiner Dateigröße Dateien für den Mediaplayer der PS3 mit ffmpeg konvertieren kann. Die Videodateien jedes beliebigen Formates das ffmpeg unterstützt kommen in das konfigurierbare INDIR. Die konvertierten, auf der PS3 abspielbaren, Dateien landen in OUTDIR.</p>
<pre>#!/bin/bash
# Eingangs und Ausgangsverzeichnis konfigurieren
INDIR=/home/user/vid_in
OUTDIR=/home/user/vid_out

# Eventuellen Whitespace aus den Dateinamen entfernen
find $INDIR -name "* *" -type f | rename 's/ /_/g'

for f in $(ls $INDIR)
do
# Mit ffmpeg in H264 und AAC konvertieren (<span style="color: #ff0000;">Achtung, der ffmpeg-Befehl muss in EINE Zeile</span>)
ffmpeg -y -i $INDIR/$f -vcodec libx264 -level 41 -crf 24 -threads 2 -acodec libfaac -ab 128k -ac 2 -ar 48000 $OUTDIR/$f.mp4
# Ende ffmpeg Befehl

# Die folgende Zeile kann auskommentiert werden, wenn die Originaldateien
# gelöscht werden sollen.
#rm $INDIR/$f

done</pre>
<p>Das in den Ubuntu-Repos vorhandene ffmpeg unterstützt leider kein H264, man muss ffmpeg selbst kompilieren um in den Genuß zu kommen. Das geht mit diesem Script hier ganz leicht:</p>
<p><a title="http://pasindudps.blogspot.de/2011/10/install-ffmpeg-in-ubuntu-1110-oneiric.html" href="http://pasindudps.blogspot.de/2011/10/install-ffmpeg-in-ubuntu-1110-oneiric.html">http://pasindudps.blogspot.de/2011/10/install-ffmpeg-in-ubuntu-1110-oneiric.html</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/beliebige-videodateien-mit-ffmpeg-fur-die-ps3-in-h264-konvertieren/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vorwahlbot &#8211; Einfach die Vorwahl einer Rufnummer herausfinden</title>
		<link>http://www.daniel-ritter.de/blog/vorwahlbot-einfach-die-vorwahl-einer-rufnummer-herausfinden</link>
		<comments>http://www.daniel-ritter.de/blog/vorwahlbot-einfach-die-vorwahl-einer-rufnummer-herausfinden#comments</comments>
		<pubDate>Tue, 13 Mar 2012 02:54:33 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[vorwahl rufnummer seperieren trennen herausfinden netz ortsnetz stadt ort]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1145</guid>
		<description><![CDATA[Als Abfallprodukt eines Projektes von mir ist Vorwahlbot entstanden. Er findet heraus zu welchem Orts- oder Mobilfunknetz eine beliebige Rufnummer gehört  (keine Portierungsinfos). Wenn Vorwahl und Rufnummer nur ohne Trennzeichen vorliegen, ist es oft schwierig die Vorwahl manuell herauszufinden, da Ortsvorwahlen in Deutschland zwischen 3 und 6 Stellen haben können. Vorwalbot erwartet als Eingabe eine [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/03/bot.jpg"><img class="alignleft size-full wp-image-1151" title="bot" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/03/bot.jpg" alt="" width="100" height="166" /></a>Als Abfallprodukt eines Projektes von mir ist <a title="Vorwahlbot" href="http://www.daniel-ritter.de/vorwahlbot/" target="_blank">Vorwahlbot</a> entstanden. Er findet heraus zu welchem Orts- oder Mobilfunknetz eine beliebige Rufnummer gehört  (keine Portierungsinfos). Wenn Vorwahl und Rufnummer nur ohne Trennzeichen vorliegen, ist es oft schwierig die Vorwahl manuell herauszufinden, da Ortsvorwahlen in Deutschland zwischen 3 und 6 Stellen haben können. Vorwalbot erwartet als Eingabe eine Vorwahl oder eine komplette Rufnummer und wirft im besten Falle das richtige Netz raus.</p>
<h1><a title="Vorwahlbot" href="http://www.daniel-ritter.de/vorwahlbot/" target="_blank">Vorwahlbot</a></h1>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/vorwahlbot-einfach-die-vorwahl-einer-rufnummer-herausfinden/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Out of the box Gigabit PCI Express Netzwerkkarte für Ubuntu und Debian</title>
		<link>http://www.daniel-ritter.de/blog/out-of-the-box-gigabit-pci-express-netzwerkkarte-fur-ubuntu-und-debian</link>
		<comments>http://www.daniel-ritter.de/blog/out-of-the-box-gigabit-pci-express-netzwerkkarte-fur-ubuntu-und-debian#comments</comments>
		<pubDate>Mon, 05 Mar 2012 12:08:44 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[netwerkkarte lan ubuntu debian pci express]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1131</guid>
		<description><![CDATA[&#160; Nach Problemen mit einer Onboard-Netzwerkkarte habe ich problemlos funktionierenden aktuellen Ersatz gesucht und bin auf folgende Karte gestossen: Intel EXPI9301CTBLK PRO1000 Netzwerkkarte CT PCIex bulk Sie funktioniert direkt Out of the Box unter Ubuntu und Debian mit aktuellem Kernel und dem Kernelmodul e1000e. Ins PXE-Setup gelangt man beim booten des Rechners durch drücken von [...]]]></description>
			<content:encoded><![CDATA[
<div class="ngg-galleryoverview" id="ngg-gallery-10-1131">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/out-of-the-box-gigabit-pci-express-netzwerkkarte-fur-ubuntu-und-debian?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=10&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-113" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/camerazoom-20120305165158221.jpg" title=" " class="shutterset_set_10" >
								<img title="camerazoom-20120305165158221" alt="camerazoom-20120305165158221" src="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/thumbs/thumbs_camerazoom-20120305165158221.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-114" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/camerazoom-20120305165335071.jpg" title=" " class="shutterset_set_10" >
								<img title="camerazoom-20120305165335071" alt="camerazoom-20120305165335071" src="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/thumbs/thumbs_camerazoom-20120305165335071.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-115" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/camerazoom-20120305165513633.jpg" title=" " class="shutterset_set_10" >
								<img title="camerazoom-20120305165513633" alt="camerazoom-20120305165513633" src="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/thumbs/thumbs_camerazoom-20120305165513633.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-116" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/camerazoom-20120305165550209.jpg" title=" " class="shutterset_set_10" >
								<img title="camerazoom-20120305165550209" alt="camerazoom-20120305165550209" src="http://www.daniel-ritter.de/blog/wp-content/gallery/intel-lan-nic/thumbs/thumbs_camerazoom-20120305165550209.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>&nbsp;</p>
<p>Nach Problemen mit einer Onboard-Netzwerkkarte habe ich problemlos funktionierenden aktuellen Ersatz gesucht und bin auf folgende Karte gestossen:</p>
<p><a href="http://www.amazon.de/gp/product/B001CY0P7G/ref=oh_o00_s00_i00_details">Intel EXPI9301CTBLK PRO1000 Netzwerkkarte CT PCIex bulk</a></p>
<p>Sie funktioniert direkt Out of the Box unter Ubuntu und Debian mit aktuellem Kernel und dem Kernelmodul e1000e.</p>
<p>Ins PXE-Setup gelangt man beim booten des Rechners durch drücken von CTRL-S.</p>
<p>&nbsp;</p>
<pre>ww-ww-13:05:10 ~ -&gt; uname -a
Linux ww 3.0.0-16-generic #28-Ubuntu SMP Fri Jan 27 17:44:39 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux</pre>
<pre>ww-ww-13:05:41 ~ -&gt; lspci | grep Intel
02:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection</pre>
<pre>ww-ww-13:05:48 ~ -&gt; dmesg | grep Intel
[    0.000000]   Intel GenuineIntel
[    1.426119] e1000e: Intel(R) PRO/1000 Network Driver - 1.3.10-k2
[    1.426121] e1000e: Copyright(c) 1999 - 2011 Intel Corporation.
[    1.543197] e1000e 0000:02:00.0: eth1: Intel(R) PRO/1000 Network Connection</pre>
<pre>ww-root-13:15:13 /home/ww -&gt; ethtool eth1
Settings for eth1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000001 (1)
                               drv
        Link detected: yes</pre>
<pre>ww-root-13:17:30 /home/ww -&gt; ethtool -i eth1
driver: e1000e
version: 1.3.10-k2
firmware-version: 1.8-0
bus-info: 0000:02:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/out-of-the-box-gigabit-pci-express-netzwerkkarte-fur-ubuntu-und-debian/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Den Firexfox-Cache auf die Ramdisk auslagern unter Ubuntu</title>
		<link>http://www.daniel-ritter.de/blog/den-firexfox-cache-auf-die-ramdisk-auslagern-unter-ubuntu</link>
		<comments>http://www.daniel-ritter.de/blog/den-firexfox-cache-auf-die-ramdisk-auslagern-unter-ubuntu#comments</comments>
		<pubDate>Tue, 28 Feb 2012 15:41:10 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ram ramdisk disk /dev/shm firefox cache]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1109</guid>
		<description><![CDATA[Um den Firefox ein wenig zu beschleunigen kann man den Cache auf die RAM-Disk auslagern. Unter Ubuntu ist diese Standardmässig schon unter /dev/shm vorhanden und kann direkt benutzt werden. Sie wird je nach verfügbaren RAM im Rechner automatisch angelegt. box-root-16:32:35 / -> df -h /dev/shm Dateisystem Größe Benut Verf Ben%% Eingehängt auf none 7,9G 11M [...]]]></description>
			<content:encoded><![CDATA[<p>Um den Firefox ein wenig zu beschleunigen kann man den Cache auf die RAM-Disk auslagern.<br />
<a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/02/320px-Chip_ram.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/02/320px-Chip_ram-300x225.jpg" alt="" title="320px-Chip_ram" width="300" height="225" class="alignleft size-medium wp-image-1110" /></a><br />
Unter Ubuntu ist diese Standardmässig schon unter /dev/shm vorhanden und kann direkt benutzt werden. Sie wird je nach verfügbaren RAM im Rechner automatisch angelegt.</p>
<pre>
box-root-16:32:35 / -> df -h /dev/shm
Dateisystem            Größe Benut  Verf Ben%% Eingehängt auf
none                  7,9G   11M  7,9G   1% /run/shm
</pre>
<p>Man muss Firefox lediglich so konfigurieren, dass /dev/shm als Cache-Verzeichnis genutzt wird. Leider ist dies nicht mehr über die grafischen Einstellungen möglich, man muss selbst Hand anlegen. Dazu öffnet man Firefox und gibt in der Adressleiste <strong>about:config</strong> ein.</p>
<p>Mit einem Rechtsklick legt man im Konfigurationsinterface einen neuen <strong>String-Wert</strong> mit dem Namen <strong>browser.cache.disk.parent_directory</strong> an und gibt diesem den Wert <strong>/dev/shm</strong>.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/02/firefox_cache.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/02/firefox_cache.png" alt="" title="firefox_cache" width="680" height="180" class="alignleft size-full wp-image-1118" /></a></p>
<p>Ab sofort speichert Firefox auf der RAM-Disk zwischen. Vor- und Zurückblättern im Browser wird einen Tick schneller. </p>
<p>Je nach Betrachtungsweise ist der Vorteil oder Nachteil an dieser Einstellung, dass der Cache verloren geht, wenn man den Rechner ausschaltet, da die zwischengespeicherten Webseiten und Bilder nur noch im RAM laden und nicht mehr auf der Platte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/den-firexfox-cache-auf-die-ramdisk-auslagern-unter-ubuntu/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Online mit Alice DSL unter Debian via pppd ohne Alice Router mit eigenem DSL-Modem</title>
		<link>http://www.daniel-ritter.de/blog/online-mit-alice-dsl-unter-debian-via-pppd-ohne-alice-router-mit-eigenem-dsl-modem</link>
		<comments>http://www.daniel-ritter.de/blog/online-mit-alice-dsl-unter-debian-via-pppd-ohne-alice-router-mit-eigenem-dsl-modem#comments</comments>
		<pubDate>Tue, 14 Feb 2012 20:50:46 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[alice dsl pppd pppoe einwahl dsl-modem box]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1096</guid>
		<description><![CDATA[Ich habe mich auf das Wagnis Alice eingelassen, trotz sehr schlechter Forenbeiträge im ganzen Web hat mich der zur Zeit extrem günstige Preis gelockt. Leider vermietet Alice zwangsweise seine kombinierte Anschlußbox mit Router, WLAN und vorkonfiguriertem VoIP mit. Das mag für die meisten User in Ordnung sein, ich habe meinen Server lieber direkt als Firewall [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mich auf das Wagnis Alice eingelassen, trotz sehr schlechter Forenbeiträge im ganzen Web hat mich der zur Zeit extrem günstige Preis gelockt. </p>
<p>Leider vermietet Alice zwangsweise seine kombinierte Anschlußbox mit Router, WLAN und vorkonfiguriertem VoIP mit. Das mag für die meisten User in Ordnung sein, ich habe meinen Server lieber direkt als Firewall und Router an der Leitung. </p>
<p>Falls man Alice auch zum telefonieren benutzen möchte benötigt man leider zwingend die Alice-Box, da hier die Telefonie Zugangsdaten versteckt von Alice hinterlegt sind. Ohne sie kann man nicht telefonieren, die Hotline nennt diese bei Nachfrage angeblich nicht.</p>
<p>Da ich die Alice-Telefonie zum Glück nicht brauche und die Leitung nur für Internet benutzen will, stand meinem gewünschten Setup nichts mehr im Wege, ausser ein wenig pppd-Frickelei.</p>
<p>Nach Alice-Angabe muss man die Leitung zunächst "aktivieren". Dafür liegt dem Modem eine CD bei, die mit einem (verbuggten) Assistenten durch die Inbetriebnahme führt. Ich vermute, dass dieser Schritt nicht wirklich nötig ist, aber ich habe ihn zur Sicherheit ausgeführt.</p>
<p>Dafür habe ich ein Windows-Notebook an die original Alice-Box geklemmt und die "Aktivierung" durchgeführt.</p>
<p>Danach benötigt man die Alice-Box nicht mehr.</p>
<p>Ich habe mein altes Congstar-Box DSL-Modem ohne Splitter an die Leitung gehängt und per Ethernet mit meinem Server verbunden.</p>
<p>Danach müssen nur noch ein paar Configdateien angepasst werden:</p>
<pre>
#/etc/ppp/peers/alice

# Interface zum DSL-Modem auswählen und MTU setzen

pty "pppoe -I <strong>eth1</strong> -m 1452"

connect /bin/true
ipcp-accept-remote
ipcp-accept-local
usepeerdns
noipdefault
defaultroute 

#Hier eigenen Usernamen eintragen

user "<strong>0123456789@alice-dsl.de</strong>"

hide-password
noaccomp
nopcomp
novj
novjccomp
nobsdcomp
nodeflate
noccp
nocrtscts
local
noauth
lcp-echo-interval 10
lcp-echo-failure 3
lock 

# Die beiden Nachfolgenden Optionen sind nützlich zum Debuggen

#debug
#nodetach
</pre>
<pre>
#/etc/ppp/pap-secrets
"0123456789@alice-dsl.de" * "passwort" *
</pre>
<p>Danach ist mit pon alice eine Anwahl möglich</p>
<pre>
gbn-root-21:40:15 /etc/ppp -> pon alice
</pre>
<p>Die Konfig funktioniert gut und ist ganz dreist geklaut von <a href="http://www.alice-wiki.de/Debian" title="http://www.alice-wiki.de/Debian">http://www.alice-wiki.de/Debian</a> Dort findet man auch Erklärungen zu allen Optionen und eine Menge weitere gute Infos über die DSL-Einwahl im Allgemeinen und bei Alice im Besondern.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/online-mit-alice-dsl-unter-debian-via-pppd-ohne-alice-router-mit-eigenem-dsl-modem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online per UMTS mit Surfstick unter Debian mit wvdial und O2 Mobile Flat</title>
		<link>http://www.daniel-ritter.de/blog/online-per-umts-mit-surfstick-unter-debian-mit-wvdial-und-o2-mobile-flat</link>
		<comments>http://www.daniel-ritter.de/blog/online-per-umts-mit-surfstick-unter-debian-mit-wvdial-und-o2-mobile-flat#comments</comments>
		<pubDate>Sat, 28 Jan 2012 23:48:41 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=1081</guid>
		<description><![CDATA[Da mein neuer DSL-Anschluss erst in einigen Wochen geschaltet wird, habe ich bei Alice die Option "Quickstart" gewählt. Hier erhält man eine SIM-Karte, mit der man 3 Monate lang kostenlos surfen kann, als Überbrückung, bis der DSL-Anschluss geschaltet wurde. Natürlich wollte ich die Internetverbindung nicht über einen Client herstellen, sondern wie gewohnt über meinen Homeserver, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/01/surfstick.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2012/01/surfstick-300x163.jpg" alt="" title="surfstick" width="300" height="163" class="alignleft size-medium wp-image-1088" /></a>Da mein neuer DSL-Anschluss erst in einigen Wochen geschaltet wird, habe ich bei Alice die Option "Quickstart" gewählt. Hier erhält man eine SIM-Karte, mit der man 3 Monate lang kostenlos surfen kann, als Überbrückung, bis der DSL-Anschluss geschaltet wurde. </p>
<p>Natürlich wollte ich die Internetverbindung nicht über einen Client herstellen, sondern wie gewohnt über meinen Homeserver, der für das ganze Heimnetz als Router fungiert. </p>
<p>Die größten Probleme hatte ich mit der Alice Hotline. Mit der SIMkarte kam eine Kurzanleitung, wie man diese über das Alice-Portal aktivieren könne. Leider hat das Portal weder in Firefox, Chrome oder Opera richtig funktioniert. Ich bin nicht bis zur Aktivierung der SIMkarte vorgedrungen.</p>
<p>Also leider Anrufe auf der 01805 Hotline. Sehr ärgerlich für 42ct./Min.</p>
<p>Über die Hotline war die Akivierung der Karte zum Glück schnell erledigt, leider konnte man mir dort zunächst nicht den notwendigen APN für die Konfiguration von wvdial nennen. Ich wollte hier sicher gehen, da ich etwas Angst vor exorbitanten Rechnungen hatte bei falscher Konfiguration des Wertes. Hier konnte mir die Technik zum Glück weiterhelfen. Für die Alice / O2 Quickstart Mobile Internet Flat lautet der APN nach Angaben der Hotline "<strong>internet.partner1</strong>". Bei der Vergabe des Namens war wohl niemand vom Marketing beteiligt <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Als nächsten Schritt habe ich die SIMkarte in ein Handy eingelegt um auf die Aktivierung zu warten und diese mitzubekommen. Das ging recht schnell, nach ca. 30 Minuten war meine SIM bereits aktiv und konnte sich ins Netz einbuchen. Erstaunlich schnell, da die Aktivierung von Alice zunächst zu O2 propagiert wird. Um das Handy zu zwingen sich neu ins Netz einzubuchen, kann man es aus- und wieder einschalten. Ich habe nun mit dem Handy noch die PIN-Abfrage der SIM deaktiviert, da ich vor einiger Zeit schon einmal üble Probleme mit wvdial und einer PIN hatte.</p>
<p>Der Rest funktionierte erstaunlich gut.</p>
<p>Ich habe die SIM in meinen Huawei Surfstick (T-Mobile Surfstick III)</p>
<pre>
Bus 001 Device 004: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E270 HSDPA/HSUPA Modem
</pre>
<p>eingelegt. Nach dem Einstecken in einen USB-Port stellt Debian mit einem aktuellen Kernel das Device /dev/ttyUSB0 zur Verfügung.</p>
<p>Dieses kann man mit wvdial ansprechen</p>
<pre>
#/etc/wvdial.conf

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"IP","internet.partner1"
Phone = *99***1#
Password = blank
Username = blank
New PPPD = yes
Modem = /dev/ttyUSB0
Baud = 460800
Modem Type = USB Modem
Auto Reconnect = on
</pre>
<p>Danach kann mit einem "wvdial" die Verbindung hergestellt werden:</p>
<pre>
gbn-root-00:19:27 ~ -> wvdial
--> WvDial: Internet dialer version 1.60
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0
ATQ0 V1 E1 S0=0 &#038;C1 &#038;D2 +FCLASS=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet.partner1"
AT+CGDCONT=1,"IP","internet.partner1"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
--> Carrier detected.  Waiting for prompt.
--> Don't know what to do!  Starting pppd and hoping for the best.
--> Starting pppd at Sun Jan 29 00:19:58 2012
--> Pid of pppd: 3749
--> Using interface ppp0
--> pppd: ��� ��� ȧ�
--> pppd: ��� ��� ȧ�
--> pppd: ��� ��� ȧ�
--> pppd: ��� ��� ȧ�
--> pppd: ��� ��� ȧ�
--> pppd: ��� ��� ȧ�
--> local  IP address 10.43.145.228
--> pppd: ��� ��� ȧ�
--> remote IP address 10.64.64.64
--> pppd: ��� ��� ȧ�
--> primary   DNS address 193.189.244.225
--> pppd: ��� ��� ȧ�
--> secondary DNS address 193.189.244.206
--> pppd: ��� ��� ȧ� 
</pre>
<p>Danach steht über die Luftschnittstelle das Internet an Device PPP0 zur Verfügung, das man nun für Routing und Firewallregeln benutzen kann.</p>
<p>Der Downstream ist im Zentrum von Düsseldorf ganz in Ordnung, der Upstream lässt allerdings SEHR zu wünschen übrig:</p>
<pre>
Download-Geschwindigkeit: 2.082 kbit/s (260 kByte/s)
Upload-Geschwindigkeit:   71 kbit/s    (9 kByte/s)
</pre>
<p>Aber... Einem geschenkten Gaul schaut man nicht ins Maul. Bezahlen würde ich für diese Performance allerdings nicht.</p>
<p><strong><br />
Nachtrag<br />
</strong><br />
Leider ist die Verbindung nicht stabil. Nach weniger als einer Stunde fliessen keine Daten mehr über PPP0, wvdial bekommt davon leider nichts mit und denkt die Verbindung sei noch aktiv, wählt also auch nicht selbstständig neu ein. Dieses Problem zu debuggen war mir zu kompliziert, da diese Notlösung ohnehin nur einige Wochen bis zur Schaltung des DSLers funktionieren muss. Das folgende kleine Skript überprüft ob die Verbindung noch steht. Falls nicht, wird wvdial gekillt und neu gestartet.</p>
<pre>
#!/bin/bash

ping -c1 www.google.de > /dev/null

if [ $? -ne 0 ];
        then
        killall wvdial
        echo `date` >> /var/log/connection_lost.log
        wvdial &#038;
fi
</pre>
<p>Dieses Skript rufe ich automatisch über einen Cronjob auf und bin jetzt always on:</p>
<pre>
#/etc/crontab

# REDIAL CRAPPY O2 line
* * * * *       root    /root/scripts/redial_ppp
</pre>
<p><strong><br />
Fallstricke:</strong></p>
<ul>
<li>PIN-Schutz der SIM nicht deaktiviert
<li>Die Verbindung über Mobilfunkprovider ist leider geNATtet. Der eigene Server ist von Außen nicht direkt erreichbar. Serverdienste können nur schwierig angeboten werden.
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/online-per-umts-mit-surfstick-unter-debian-mit-wvdial-und-o2-mobile-flat/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 Plugins für mehr Privatsphäre beim Surfen mit Firefox</title>
		<link>http://www.daniel-ritter.de/blog/6-tipps-fur-mehr-privatsphare-beim-surfen-mit-firefox</link>
		<comments>http://www.daniel-ritter.de/blog/6-tipps-fur-mehr-privatsphare-beim-surfen-mit-firefox#comments</comments>
		<pubDate>Mon, 05 Dec 2011 18:25:41 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[privacy surfen privatsphäre firefox plugins adblock noscript cookie monster tor]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=964</guid>
		<description><![CDATA[Die eigene Privatsphäre im Internet zu schützen wird immer schwieriger. Weder Industrie noch Politik haben Interesse daran, die Daten von Internetnutzen zu schützen. Vor einigen Jahren reichte es noch, nirgendwo seinen echten Namen und andere persönliche Daten wie Geburtsdatum oder Kontonummern anzugeben. Heute werden auf fast jeder Webseite unsichtbar im Hintergrund Daten gesammelt - und [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_header.jpg"><img class="alignleft size-full wp-image-1066" title="priv_header" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_header.jpg" alt="" width="400" height="275" /></a>Die eigene Privatsphäre im Internet zu schützen wird immer schwieriger. Weder Industrie noch Politik haben Interesse daran, die Daten von Internetnutzen zu schützen. Vor einigen Jahren reichte es noch, nirgendwo seinen echten Namen und andere persönliche Daten wie Geburtsdatum oder Kontonummern anzugeben. Heute werden auf fast jeder Webseite unsichtbar im Hintergrund Daten gesammelt - und zwar nicht nur vom Betreiber der Webseite selbst, sondern auch von vielen weiteren kommerziellen Anbietern. Durch die Weitergabe der Daten an Dritte hat man selbst keinerlei Vorteile. Außerdem verliert man so mit der Zeit die Kontrolle über die eigenen Daten und ausgefeilte Profile über Konsumgewohnheiten, Interessen, Vorlieben und Abneigungen landen unbemerkt in nicht kontrollierbaren Datenbanken. Der Ausverkauf der Persönlichkeit ist in vollem Gang und nur ein wenig persönliche Informationshygiene hilft den neue Bedrohungen zu begegnen.</p>
<p>Da durch den Durchbruch von Facebook der Klarname ins Netz gewandert ist, ist die Verknüpfbarkeit von Surfgewohnheiten mit der eignen Person nicht mehr nur eine theoretische Möglichkeit sondern geschieht vollautomatisch und ständig.</p>
<p>In diesem Artikel werde ich einige Möglichkeiten auflisten seine Privatsphäre online zu verteidigen. Leider benötigen fast alle Maßnahmen eine gewisse Eigeninitiative und ein wenig Einarbeitung. Oft verliert man (zumindest am Anfang) etwas Komfort beim Surfen. Trotzdem kann die Nutzung der Tipps auf lange Sicht sehr nützlich sein.</p>
<p>Doch erstmal ein kleines Experiement. Für den kleinen Test habe ich einen aktuellen Firefoxbrowser in der Standardkonfiguration gestartet, alle vorhandenen Cookies gelöscht und danach 6 Seiten angesurft, und zwar Spiegel.de, Bild.de, GMX.de, Twitter, Facebook und eine Pornoseite. Das Ergebnis sind 21 neue permanente Cookies auf dem Rechner.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/cookies_firefox.jpg"><img class="alignleft size-full wp-image-1015" title="cookies_firefox" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/cookies_firefox.jpg" alt="" width="523" height="806" /></a></p>
<p>Bereits nach dem Aufruf dieser wenigen Seiten ist der Browser komplett verwanzt mit 3rd Party Cookies. Diese Cookies identifizieren meine Browserinstallation nun gegenüber den Urhebern und können von ihnen wieder ausgelesen werden. Dies kann zunächst einmal auf ihren eignen Seiten geschehen. Aber auch auf Seiten Dritter, mit welchen kooperiert wird.</p>
<p>So wird der Google-Cookie zum Beispiel auf jeder Seite gelesen , die Google-Analytics nutzt, Google Werbung schaltet, Google Maps einbindet oder einen der vielen anderen konstenlosen Google-Dienste für Webmaster benutzt. So erhält Google nicht nur eine Historie meiner Google Suchen, sondern nimmt es auch bei vielen anderen Seiten wahr, dass ich sie besuche.</p>
<p>Ähnlich läuft es mit den Cookies der anderen Anbieter. Werbefirmen, Marktforschungsinstitute, Spammer und Marketingfirmen versuchen ständig auf dem Browser Cookies zu setzen und auf Partnerseiten wieder auszulesen, um mehr über mich zu erfahren.</p>
<p>Dies geschieht entweder über kleine unsichbare Dateien auf der Webseite ("Zählpixel","TrackingImage") oder durch Javascripte, die auf den Partnerseiten eingebaut werden.</p>
<p>Ein erster Schritt für mehr Privatsphäre ist es also die Tracking-Cookie, Zählpixel und Tracking-JavaScript Flut zu bekämpfen.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>Tipp 1 - Mit einem lokalen Hostfile einen Großteil der Spione komplett aussperren.</strong></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_hosts.jpg"><img class="alignnone size-full wp-image-1024" title="priv_hosts" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_hosts.jpg" alt="" width="415" height="291" /></a></p>
<p>Als Grundimmunisierung gegen die Pest hilft ein lokales Hostfile. In jedem modernen Betriebssystem kann im Hostfile eine Liste von Domainnamen mit der dazugehörigen IP<br />
hinterlegt werden. Das System benutzt zuerst das lokale Hostfile um Adressen im Internet nachzuschlagen, erst danach einen DNS-Server im Internet. Trägt man im Hostfile also Adressen von schädlichen Domains ein, die Tracking-Cookies setzen wollen und leitet die Anfragen an diese Seiten lokal um, kann der Browser diese schädlichen Seiten nicht mehr erreichen.</p>
<p><iframe src="http://www.youtube.com/embed/KNlQX40lRXc" frameborder="0" width="420" height="315"></iframe></p>
<p>Somit hat man schon einen Großteil des Problems gelöst. Ein sehr gut gepflegtes Hostfile, das tausende von Trackingdomains enthält kann man hier finden:<a href="http://winhelp2002.mvps.org/hosts.txt">http://winhelp2002.mvps.org/hosts.txt</a> Unter Linux speichert man es einfach als /etc/hosts auf dem lokalen Rechner ab, um es zu aktivieren.</p>
<pre>#!/bin/bash
wget -O /tmp/tracking.txt http://winhelp2002.mvps.org/hosts.txt
mv /etc/hosts /etc/hosts.backup
mv /tmp/tracking.txt /etc/hosts</pre>
<p><a href="http://www.daniel-ritter.de/blog/howto-quick-and-dirty-dhcp-server-und-dns-cache-mit-dnsmasq-unter-debian">Betreibt man einen eigenen DNS-Server im LAN</a>, kann man diesen auch so konfigurieren, dass er das Hostsfile nutzt und so automatisch das ganze LAN zentral befreien.</p>
<p><strong>Tipp 2: Google nur das Nötigste mitteilen mit GoogleSharing</strong></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_googlesharing.jpg"><img class="alignnone size-full wp-image-1030" title="priv_googlesharing" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_googlesharing.jpg" alt="" width="218" height="68" /></a></p>
<p>Google ist Tracker #1 im Internet und erfasst auf Umwegen inzwischen fast auf jeder besuchten Seite persönliche Daten, diese können durch persönliche Identifikation über GMail, Google+ oder andere personalisierte Dienste auf die eigene Person zurückgeführt werden und mit den eigenen Google-Suchen verknüpft werden. Dagegen hilft das Ablehnen des Google-Cookies und das interessante Firefox-Plugin GoogleSharing. Das Plugin anonymisert jeden Kontakt zu Google indem es ständig zufällige Identitäten erstellt, die mit allen anderen Nutzern des Plugins geteilt werden. Google kann bei Benutzung des Plugins den einzelnen Nutzer nicht mehr in dieser anonymisierten Zufallsmasse identifizieren.</p>
<p><iframe src="http://www.youtube.com/embed/KgGXuHUW4CE" frameborder="0" width="560" height="315"></iframe></p>
<p>Das Plugin funktioniert vollautomatisch und verringert die Geschwindigkeit von Google nur unerheblich.<br />
GoogleSharing gibt es direkt in Firefox unter Extras/Addons oder von dieser Webseite: <a href="https://addons.mozilla.org/en-US/firefox/addon/googlesharing/">https://addons.mozilla.org/en-US/firefox/addon/googlesharing/</a></p>
<p><strong>Tipp 3: Volle Kontrolle über Cookies mit Cookie Monster</strong></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_cookiemonster.jpg"><img class="alignnone size-full wp-image-1036" title="priv_cookiemonster" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_cookiemonster.jpg" alt="" width="370" height="304" /></a></p>
<p>Cookies sind nicht nur zum Tracken da. Viele Webseiten benutzen sie für vollkommen legitime Funktionen, wie das Loginmanagement oder das Speichern von Benutzervoreinstellungen. Deshalb ist es sinnvoll, zunächst einmal alle Cookies generell zu verbieten und danach Schritt für Schritt manuell die Cookies zu erlauben, die man tatsächlich für Seiten, die man häufig aktiv nutzt benötigt. Dies ist mit Firefox-Bordmitteln zwar möglich, aber leider recht umständlich. Hier hilft das kostenlose Plugin "Cookie Monster". Es befindet sich nach der Installation im Systemtray und ermöglicht einen schnellen Zugriff auf die Cookieeinstellungen für die aktuell geöffnete Seite. Cookie Monster zu konfigurieren macht zunächst ein wenig Arbeit, da viele Seiten tatsächlich ohne Cookies nicht funktionieren, jedoch erhält man nach kurzer Zeit das bestmögliche Maß an individueller Cookiehygiene. Cookie Monster gibt es hier: <a title="https://addons.mozilla.org/de/firefox/addon/cookie-monster/" href="https://addons.mozilla.org/de/firefox/addon/cookie-monster/">https://addons.mozilla.org/de/firefox/addon/cookie-monster/</a></p>
<p><strong><br />
Tipp 4: Tracking JavaScripte, IFRAMES und Flash-Movies verbieten mit NoScript</strong></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_noscript.png"><img class="alignnone size-full wp-image-1043" title="priv_noscript" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_noscript.png" alt="" width="408" height="273" /></a></p>
<p>Die meisten Cookies werden durch JavaScripte gesetzt. Da sehr viele Webseiten beim kompletten Deaktivieren von Javascript unbenutzbar werden, muss man leider auch hier eine Selektion vornehmen, genauso wie bei den Cookies. Tracking kann auch über IFRAMES und Flash-Movies erfolgen, auch hier hilft NoScript.</p>
<p><iframe src="http://www.youtube.com/embed/umsODDH6G5Y" frameborder="0" width="420" height="315"></iframe></p>
<p>Hier gilt der gleiche Ansatz: Zunächst einmal alle Scripte komplett verbieten und danach Stück für Stück benötigte Skripte erlauben. Dabei hilft das Firefox Plugin NoScript, das ähnlich wie Cookie Monster von der Taskleiste aus erreichbar ist und das Erlauben oder Verbieten von Javascript pro besuchter Seite erlaubt. Auch hier hat man zu Beginn viel Stress, fast gar nichts funktioniert mehr. Mit der Zeit hat man das Plugin allerdings so gut an die persönlichen Bedürfnisse angepasst, dass es kaum noch behindert. Als netter Zusatzeffekt laden viele Seiten deutlich schneller, da sie nicht während dem Seitenaufbau noch verschiedene externe Daten von Drittanbietern nachladen müssen.</p>
<p><strong><br />
Tipp 5: IP-Adresse anonymisieren mit TOR-Button</strong></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_torbutton.jpg"><img class="alignnone size-full wp-image-1047" title="priv_torbutton" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/priv_torbutton.jpg" alt="" width="158" height="104" /></a></p>
<p>Durch die vorhergehenden Tipps habe ich nun zumindest schon einmal 99,9% der 3rd Party Tracker ausgeschaltet. Webseiten die ich besuche bekommen aber trotzdem noch mit wer ich bin und können meine IP-Adresse protokollieren. Hier hilft das TOR-Netzwerk, über das man anonym surfen kann. Das Prizip ist ähnlich dem GoogleSharing. Die eigene IP-Adresse geht in einem großen Pool anderer Adressen unter und ist nicht mehr auf den eigenen Anschluß zurückzuverfolgen.</p>
<p><iframe src="http://www.youtube.com/embed/XnJuS7XdY_o" frameborder="0" width="560" height="315"></iframe></p>
<p>TOR ist leider recht langsam und deshalb nicht für den alltäglichen Gebrauch geeignet. Es kann aber fallweise sehr nützlich sein. TOR ist über ein Plugin sehr leicht in den Firefox zu integrieren und schnell ein- und ausschalten. Weitere Infos und Downloads gibt es hier: <a title="https://www.torproject.org/torbutton/" href="https://www.torproject.org/torbutton/">https://www.torproject.org/torbutton/</a></p>
<p><strong><br />
Tipp 6: Werbung entfernen mit AdBlock Plus</strong></p>
<p><iframe src="http://www.youtube.com/embed/oNvb2SjVjjI" frameborder="0" width="420" height="315"></iframe></p>
<p>Alle Werbebanner, sich nicht durch die bisherigen Tipps ohnehin schon verabschiedet haben, kann man mit AdBlock Plus entfernen. Dieses Plugin benutzt eine Liste von Servern von Werbeanbietern und blockt den Zugriff auf deren Server. So kann Firefox keine Werbebanner und Filme mehr nachladen und die entsprechenden Stellen auf den Webseiten bleiben leer. Das Plugin funktioniert vollautomatisch und erwischt sehr viel Werbung, bevor sie den Browser erreichen kann. Werbung, die AdBlock nicht automatisch blockt, kann manuell markiert werden, so dass AdBlock sie danach erkennen und blocken kann. Adblock gibt es hier: <a title="https://addons.mozilla.org/de/firefox/addon/adblock-plus/" href="https://addons.mozilla.org/de/firefox/addon/adblock-plus/">https://addons.mozilla.org/de/firefox/addon/adblock-plus</a></p>
<p>&nbsp;</p>
<p><strong>Tipp 7: So oft wie möglich HTTPS benutzen mit HTTPS-Everywhere<br />
</strong></p>
<p>Viele Webseiten ermöglichen den Zugang nich nur per HTTP (unverschlüsselt) sondern auch per HTTPS (verschlüsselt). Das bedeutet, dass der komplette Datenverkehr zwischen dem lokalen Rechner und dem Webserver verschlüsselt wird und niemand zwischen dem eigenen Rechner und dem Server den Datenverkehr mitlesen kann. Das Plugin HTTPS-Everywhere pflegt eine Liste von Webseiten, die sowohl HTTP als auch HTTPS anbieten. Benutzt man für eine dieser Webseiten HTTP, wird man automatisch auf die HTTPS-Version der Seite umgelenkt und surft somit verschlüsselt. <a href="https://www.eff.org/https-everywhere">https://www.eff.org/https-everywhere</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/6-tipps-fur-mehr-privatsphare-beim-surfen-mit-firefox/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Online Melderegisterauskunft in Düsseldorf macht schlechten Eindruck</title>
		<link>http://www.daniel-ritter.de/blog/online-melderegisterauskunft-in-dusseldorf-unsicher</link>
		<comments>http://www.daniel-ritter.de/blog/online-melderegisterauskunft-in-dusseldorf-unsicher#comments</comments>
		<pubDate>Thu, 01 Dec 2011 16:09:52 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[melderegister auskunft widerspruch sicherheit düsseldorf]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=967</guid>
		<description><![CDATA[Mir war nicht ganz klar, welche persönlichen Daten das Einwohnermeldeamt an wen weitergeben darf. Ich bin nach etwas Recherche auf diese Aktion der PIRATEN gestoßen, die dazu auffordern, der Weitergabe der eigenen Daten bei den Meldeämtern zu widersprechen. Viele Meldeämter geben die Daten nämlich inzwischen jedem! der zahlt. Dem kann man nur durch einen Widerspruch [...]]]></description>
			<content:encoded><![CDATA[<p>Mir war nicht ganz klar, welche persönlichen Daten das Einwohnermeldeamt an wen weitergeben darf. Ich bin nach etwas Recherche auf <A HREF="http://www.optoutday.de">diese Aktion</A> der PIRATEN gestoßen, die dazu auffordern, der Weitergabe der eigenen Daten bei den Meldeämtern zu widersprechen. Viele Meldeämter geben die Daten nämlich inzwischen <b>jedem!</b> der zahlt. Dem kann man nur durch einen Widerspruch entgehen.</p>
<p>Daten von den Meldeämtern werden weitergegeben an:</p>
<pre>
Staatliche Behörden, bei berechtigtem Interesse im Rahmen der Amtshilfe
</pre>
<p>Also z.B. Polizei, Staatsanwaltschaft, statistische Ämter, etc.</p>
<pre>
die GEZ
</pre>
<p>Die Brüder kennen wir ja schon zur Genüge.</p>
<pre>
Parteien, Wählergruppen und anderen Trägern von Wahlvorschlägen im
Zusammenhang mit Parlaments- und Kommunalwahlen; § 35 Abs.1 MG NRW
</pre>
<p>Um die hübsche Hochglanz-Wahlwerbung zu erhalten.</p>
<pre>
an Antragsteller und Parteien im Zusammenhang mit Volksbegehren und
Volksentscheiden sowie mit Bürgerentscheiden; § 35 Abs.2 MG NRW
</pre>
<p>Um Hochglanz-Entscheidungshilfen bei den häufigen Volksabstimmungen zu erhalten.</p>
<pre>
<font color=red>im Wege des automatisierten Abrufs über das Internet; § 34 Abs.1b MG NRW</font>
</pre>
<p>Das ist der Punkt, der mir bisher nicht bekannt war. Über ein Internetportal kann<br />
jeder, der einige Kenndaten einer Person kennt automatisiert über das Internet<br />
Meldeauskünfte einholen. Die Abfrage kostet zur Zeit 4 Euro pro Datensatz in Düsseldorf.</p>
<p>Das Meldegesetz NRW sagt an dieser Stelle:</p>
<pre>
<a href="https://recht.nrw.de/lmi/owa/br_bes_text?anw_nr=2&#038;gld_nr=2&#038;ugl_nr=210&#038;bes_id=4655&#038;aufgehoben=N&#038;menu=1&#038;sg=" title="Meldegesetz NRW">https://recht.nrw.de/lmi/owa/br_bes_text?anw_nr=2&#038;gld_nr=2&#038;ugl_nr=210&#038;bes_id=4655&#038;aufgehoben=N&#038;menu=1&#038;sg=</a>

§ 34 Abs.1b MG NRW
(1b) Soll der Abruf über das Internet ermöglicht werden, ist sicherzustellen, dass das Antragsverfahren und die Auskunftserteilung in verschlüsselter Form erfolgen. Die Eröffnung des Zugangs ist öffentlich bekannt zu machen. Ein Abruf ist nicht zulässig, wenn der Betroffene dieser Form der Auskunftserteilung widersprochen hat. Die Meldebehörde hat spätestens einen Monat vor der Eröffnung des Internetzugangs durch öffentliche Bekanntmachung auf das Widerspruchsrecht hinzuweisen. Im Übrigen gilt § 35 Abs. 6 Satz 2 entsprechend.
</pre>
<p>Ein Widerspruch gegen die Weitergabe der Daten ist durch das Ausfüllen eines Formulars möglich. Für Düsseldorf findet sich dieses hier: <A HREF="https://formulare.duesseldorf.de/forms/frm/7PRPfAZH5gQA8Ja8AkNGaH1rNpDcHR3">https://formulare.duesseldorf.de/forms/frm/7PRPfAZH5gQA8Ja8AkNGaH1rNpDcHR3</A> Dieses kann kostenlos in Bürgerämtern abgegeben werden. Danach ist kein Onlinezugriff auf die eigenen Daten mehr möglich. Anscheinend werden die Datenzugriffe regional von den jeweiligen Städten und Kreisen organisiert.</p>
<p>Auf meine Nachfrage bei der (sehr freundlichen) Sachbearbeiterin im Bürgerbüro hin, konnte<br />
man mir leider nicht die URL des Abfrageportals mitteilen. Eine kurze Recherche hat mich dann aber schnell auf diese Seite der Stadt Düsseldorf geführt:</p>
<p><A HREF="https://www.duesseldorf.de/emra/emra.jsp?stadt=D%FCsseldorf&#038;art=Stadt">https://www.duesseldorf.de/emra/emra.jsp?stadt=D%FCsseldorf&#038;art=Stadt</A></p>
<p>Das Portal machte technisch gelinde gesagt einen sehr zweifelhaften Eindruck.<br />
Zunächst einmal scheint es keinerlei Captcha oder ähnliches zu geben. Eine Massenabfrage scheint also mit entsprechenden Skripten möglich zu sein.</p>
<p>Außerdem verabschiedete sich die Webapplikation bei meiner Testabfrage mit folgender Tomcat Fehlermeldung, da ich keine Cookies aktiviert hatte:</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/meldeauskunft_ddorf.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/12/meldeauskunft_ddorf.jpg" alt="" title="meldeauskunft_ddorf" width="809" height="720" class="alignleft size-full wp-image-975" /></a></p>
<p>Dies lies mich dann doch zunehmend an der Professionalität einer Anwendung zweifeln, die Zugriff auf die Daten aller Bürger der Stadt bietet. Ein Skript sollte nicht abstürzen, wenn Voraussetzungen am Rechner des Benutzers nicht gegeben sind (in diesem Fall mein fehlender Cookie). Skript-Fehlermeldungen von Webservern, die sich im produktiven Einsatz befinden nicht zu deaktivieren <A HREF="http://www.daniel-ritter.de/blog/10-masnahmen-um-einen-root-lamp-server-abzusichern">ist fahrlässig</A>, da sie viel über die verwendete Systemumgebung verraten können. Zumal man bei jsp (wie im Screenshot oben) je nach Konfiguration des Servers auch noch Kommentare des Programmierers und Quelltextschnippsel dazu bekommt. Hier wurde geschlampt. An einer Schnittstelle zu persönlichen Daten sollte das nicht passieren.</p>
<p>Aufhorchen ließ mich auch die benutze Tomcat Version, welche in der Fehlermeldung auch unten auftaucht. (Apache Tomcat/6.0.24) Dies ist eine ältere Version des Webservers vom 21.01.2010. Aktuell ist die Version 6.0.33. Der Melderegister-Server wurde 4 Versionen lang nicht aktualisiert. Schaut man sich die Sicherheitslücken an, die in diesen letzten Versionen behoben wurden, wird es langsam ungemütlich. Der Server befindet sich offensichtlich nicht im bestmöglichen Zustand:</p>
<pre>
<A HREF="http://tomcat.apache.org/security-6.html">http://tomcat.apache.org/security-6.html</A>

Fixed in Apache Tomcat 6.0.33	released 18 Aug 2011

    Moderate: Multiple weaknesses in HTTP DIGEST authentication CVE-2011-1184

    The implementation of HTTP DIGEST authentication was discovered to have several weaknesses:

        replay attacks were permitted
        server nonces were not checked
        client nonce counts were not checked
        qop values were not checked
        realm values were not checked
        the server secret was hard-coded to a known string

    The result of these weaknesses is that DIGEST authentication was only as secure as BASIC authentication.

    This was fixed in revision 1158180.

    This was identified by the Tomcat security team on 16 March 2011 and made public on 26 September 2011.

    Affects: 6.0.0-6.0.32

    Low: Information disclosure CVE-2011-2204

    When using the MemoryUserDatabase (based on tomcat-users.xml) and creating users via JMX, an exception during the user creation process may trigger an error message in the JMX client that includes the user's password. This error message is also written to the Tomcat logs. User passwords are visible to administrators with JMX access and/or administrators with read access to the tomcat-users.xml file. Users that do not have these permissions but are able to read log files may be able to discover a user's password.

    This was fixed in revision 1140071.

    This was identified by Polina Genova on 14 June 2011 and made public on 27 June 2011.

    Affects: 6.0.0-6.0.32

    Low: Information disclosure CVE-2011-2526

    Tomcat provides support for sendfile with the HTTP NIO and HTTP APR connectors. sendfile is used automatically for content served via the DefaultServlet and deployed web applications may use it directly via setting request attributes. These request attributes were not validated. When running under a security manager, this lack of validation allowed a malicious web application to do one or more of the following that would normally be prevented by a security manager:

        return files to users that the security manager should make inaccessible
        terminate (via a crash) the JVM

    Additionally, these vulnerabilities only occur when all of the following are true:

        untrusted web applications are being used
        the SecurityManager is used to limit the untrusted web applications
        the HTTP NIO or HTTP APR connector is used
        sendfile is enabled for the connector (this is the default)

    This was fixed in revision 1146703.

    This was identified by the Tomcat security team on 7 July 2011 and made public on 13 July 2011.

    Affects: 6.0.0-6.0.32

    Important: Information disclosure CVE-2011-2729

    Due to a bug in the capabilities code, jsvc (the service wrapper for Linux that is part of the Commons Daemon project) does not drop capabilities allowing the application to access files and directories owned by superuser. This vulnerability only occurs when all of the following are true:

        Tomcat is running on a Linux operating system
        jsvc was compiled with libcap
        -user parameter is used

    Affected Tomcat versions shipped with source files for jsvc that included this vulnerability.

    This was fixed in revision 1153824.

    This was identified by Wilfried Weissmann on 20 July 2011 and made public on 12 August 2011.

    Affects: 6.0.30-6.0.32

Fixed in Apache Tomcat 6.0.32	released 03 Feb 2011

    Note: The issue below was fixed in Apache Tomcat 6.0.31 but the release vote for the 6.0.31 release candidate did not pass. Therefore, although users must download 6.0.32 to obtain a version that includes a fix for this issue, version 6.0.31 is not included in the list of affected versions.

    Important: Remote Denial Of Service CVE-2011-0534

    The NIO connector expands its buffer endlessly during request line processing. That behaviour can be used for a denial of service attack using a carefully crafted request.

    This was fixed in revision 1066313.

    This was identified by the Tomcat security team on 27 Jan 2011 and made public on 5 Feb 2011.

    Affects: 6.0.0-6.0.30

Fixed in Apache Tomcat 6.0.30	released 13 Jan 2011

    Low: Cross-site scripting CVE-2011-0013

    The HTML Manager interface displayed web application provided data, such as display names, without filtering. A malicious web application could trigger script execution by an administrative user when viewing the manager pages.

    This was fixed in revision 1057270.

    This was identified by the Tomcat security team on 12 Nov 2010 and made public on 5 Feb 2011.

    Affects: 6.0.0-6.0.29

    Moderate: Cross-site scripting CVE-2010-4172

    The Manager application used the user provided parameters sort and orderBy directly without filtering thereby permitting cross-site scripting.

    This was fixed in revision 1037779.

    This was first reported to the Tomcat security team on 15 Nov 2010 and made public on 22 Nov 2010.

    Affects: 6.0.12-6.0.29

    Low: SecurityManager file permission bypass CVE-2010-3718

    When running under a SecurityManager, access to the file system is limited but web applications are granted read/write permissions to the work directory. This directory is used for a variety of temporary files such as the intermediate files generated when compiling JSPs to Servlets. The location of the work directory is specified by a ServletContect attribute that is meant to be read-only to web applications. However, due to a coding error, the read-only setting was not applied. Therefore, a malicious web application may modify the attribute before Tomcat applies the file permissions. This can be used to grant read/write permissions to any area on the file system which a malicious web application may then take advantage of. This vulnerability is only applicable when hosting web applications from untrusted sources such as shared hosting environments.

    This was fixed in revision 1022560.

    This was discovered by the Tomcat security team on 12 Oct 2010 and made public on 5 Feb 2011.

    Affects: 6.0.0-6.0.29

Fixed in Apache Tomcat 6.0.28	released 9 Jul 2010

    Important: Remote Denial Of Service and Information Disclosure Vulnerability CVE-2010-2227

    Several flaws in the handling of the 'Transfer-Encoding' header were found that prevented the recycling of a buffer. A remote attacker could trigger this flaw which would cause subsequent requests to fail and/or information to leak between requests. This flaw is mitigated if Tomcat is behind a reverse proxy (such as Apache httpd 2.2) as the proxy should reject the invalid transfer encoding header.

    This was fixed in revision 958977.

    This was first reported to the Tomcat security team on 14 Jun 2010 and made public on 9 Jul 2010.

    Affects: 6.0.0-6.0.27

    Note: The issue below was fixed in Apache Tomcat 6.0.27 but the release vote for the 6.0.27 release candidate did not pass. Therefore, although users must download 6.0.28 to obtain a version that includes a fix for this issue, version 6.0.27 is not included in the list of affected versions.

    Low: Information disclosure in authentication headers CVE-2010-1157

    The WWW-Authenticate HTTP header for BASIC and DIGEST authentication includes a realm name. If a <realm-name> element is specified for the application in web.xml it will be used. However, a <realm-name> is not specified then Tomcat will generate realm name using the code snippet request.getServerName() + ":" + request.getServerPort(). In some circumstances this can expose the local host name or IP address of the machine running Tomcat.

    This was fixed in revision 936540.

    This was first reported to the Tomcat security team on 31 Dec 2009 and made public on 21 Apr 2010.

    Affects: 6.0.0-6.0.26
</pre>
<p>Das alles wirkt sehr unsicher und steht für mich exemplarisch für den gelebten Datenschutzwillen des Staates. Die Daten werden verkauft und es ist kaum jemandem bekannt. Die technische Umsetzung lässt sehr zu Wünschen übrig und läuft über technische Systeme, die bekanntermaßen fehlerhaft sind und dringend aktualisiert werden müssten. Auch scheint eine Endkontrolle und qualifizierte Abnahme bei IT-Projekten (die bekanntermaßen für den Staat meistens recht teuer sind) nicht immer stattzufinden. </p>
<p>Als einzigen Pluspunkt kann ich vermerken, dass es kein zentrales bundesweites Portal mit Online-Fernabfrage für alle Meldedaten zu geben scheint. Dann wären wir sicherlich nicht mehr weit entfernt von dem, was <a href="http://www.zdnet.de/news/41557488/israel-verliert-meldedaten-saemtlicher-staatsbuerger.htm">den Israelis vor Kurzem geschehen ist</a>.</p>
<p>Ich bin froh, dass ich mich ausgetragen habe, aber ob jemand mit etwas krimineller Energie und technischem Verständnis nicht trotzdem (kostenlos) an meine Daten (und alle anderen) kommen könnte, halte ich zumindest für fragwürdig. Auf den ersten Blick wirkt das Düsseldorfer System nicht abgehärtet gegen Angriffe.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/online-melderegisterauskunft-in-dusseldorf-unsicher/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tweet Neglector. A small PHP script to delete old Tweets from Twitter</title>
		<link>http://www.daniel-ritter.de/blog/tweet-neglector-a-small-php-script-to-delete-old-tweets-from-twitter</link>
		<comments>http://www.daniel-ritter.de/blog/tweet-neglector-a-small-php-script-to-delete-old-tweets-from-twitter#comments</comments>
		<pubDate>Sun, 20 Nov 2011 17:35:13 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[expire]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[tweets]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=953</guid>
		<description><![CDATA[Tweet Neglector automates the process of deleting old tweets from your Twitter account. Basicly it provides an "expire" functionality for your tweets. It is useful for people who want to use Twitter but don't want a history of their tweets to stay online for decades. HISTORY: Nov 20 2011 &#124; Version 0.1 Initial release. Deletes [...]]]></description>
			<content:encoded><![CDATA[<p>Tweet Neglector automates the process of deleting old tweets from your Twitter account. Basicly it provides an "expire" functionality for your tweets. It is useful for people who want to use Twitter but don't want a history of their tweets to stay online for decades.</p>
<pre>
HISTORY:
Nov 20 2011 | Version 0.1
Initial release. Deletes Tweets

Dez 28 2011 | Version 0.2
Small bug fixes. Now deletes Retweets as well.

KNOWN BUGS:
- Won't work if you tweet more than 1000 tweets in the timeframe you plan to keep tweets. Same for retweets (100 allowed). These are shortcomings of the Twitter GET API I am using ATM. Maybe I'll fix this with the next release
</pre>
<p>Tweet Neglector uses the Twitter API to delete all your tweets that were posted before a given number of days from now. This way you could configure the script to delete all tweets that are older than a week or a month for example. The script should be automatically run from a cronjob or another automation mechanism on a regular base.</p>
<p>This script can't protect you from external Tweet archives. Also it is unknown if deleted Tweets are still archived by Twitter (I bet they are). So (as always) think before tweeting.</p>
<p>Tweet Neglector uses PHP as scripting language and bundles the <A HREF="https://github.com/themattharris/tmhOAuth">Twitter OAuth Library from Matt Harris</A> for API-Access. </p>
<p><b>Installation</b></p>
<pre>
- PHP5 required for tmhOAuth

- Unzip the archive into a directory of your choice.

- Register your Twitter API-Keys at https://dev.twitter.com/apps

- Edit the configuration of the script to suit your needs:

# Twitter API keys, tokens and secrets
# Get these keys at -> https://dev.twitter.com/apps

$consumer_key        =  "YOUR KEY HERE";
$consumer_secret     =  "YOUR KEY HERE";
$access_token        =  "YOUR KEY HERE";
$access_token_secret =  "YOUR KEY HERE";

# Number of tweets to work on per session
$tweets_per_session = 1000;

# Twitter Username
$twitter_username = "YOUR USERNAME HERE";

# Days to keep tweets
$keep_days = 30;

- Run the script manually from browser, console or automatically by cronjob
/usr/bin/php /var/www/tweetneglector/tweetneglector.php
</pre>
<p>Download Tweet Neglector 0.2 <A HREF="http://www.daniel-ritter.de/blog/extras/tweet_neglector_02.zip">here</A></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/tweet-neglector-a-small-php-script-to-delete-old-tweets-from-twitter/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Howto: Quick and dirty DHCP-Server und DNS-Cache mit dnsmasq unter Debian</title>
		<link>http://www.daniel-ritter.de/blog/howto-quick-and-dirty-dhcp-server-und-dns-cache-mit-dnsmasq-unter-debian</link>
		<comments>http://www.daniel-ritter.de/blog/howto-quick-and-dirty-dhcp-server-und-dns-cache-mit-dnsmasq-unter-debian#comments</comments>
		<pubDate>Mon, 24 Oct 2011 14:52:06 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[dnsmasq dns dhcp]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=936</guid>
		<description><![CDATA[DHCP im LAN ist praktisch. Man muss nicht mehr die Netzwerkkonfiguration jedes einzelnen Rechners im Netzwerk an den Clients selbst verwalten, sondern hat alles schön zentral auf dem Server. Durch DNS-Caching sparen die Clients ein wenig Zeit beim Auflösen von Hostnames, da die Anfragen für bekannte Hostnames vom lokalen Cache übernommen werden können und nicht [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/10/dnsmasq.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/10/dnsmasq.jpg" alt="" title="dnsmasq" width="300" height="225" class="alignleft size-full wp-image-946" /></a>DHCP im LAN ist praktisch. Man muss nicht mehr die Netzwerkkonfiguration jedes einzelnen Rechners im Netzwerk an den Clients selbst verwalten, sondern hat alles schön zentral auf dem Server. Durch DNS-Caching sparen die Clients ein wenig Zeit beim Auflösen von Hostnames, da die Anfragen für bekannte Hostnames vom lokalen Cache übernommen werden können und nicht mehr an einen Server im Internet gestellt werden müssen.</p>
<div height=20></div>
<p>Ein kleiner DHCP-Server ist mit dnsmasq sehr schnell eingerichtet.</p>
<pre>
# dnsmasq installieren
apt-get install dnsmasq
</pre>
<p>Die Konfiguration findet zentral in der Datei /etc/dnsmasq.conf statt. Man sollte sich vor den geballten Konfigurationsoptionen in der Datei nicht abschrecken lassen. So gut wie alles dient nur als Beispiel und ist per default auskommentiert. Eine sehr kurze Konfig reicht bereits für ein funktionierendes Setup:</p>
<p><strong>DHCP</strong></p>
<pre>
# DHCP netmask
# Clients bekommen 255.255.255.0 als Netmask
dhcp-option=1,255.255.255.0

# default gateway
# Clients bekommen als Gateway 192.168.1.251
dhcp-option=3,192.168.1.251

# dns
# Clients bekommen als Nameserver 192.168.1.4
# Falls man dnsmasq auch als DNS-Cache benutzen möchte, sollte dies die
# IP des Servers sein, auf dem dnsmasq läuft
dhcp-option=6,192.168.1.4

# Für bekannte Rechner immer dieselbe IP anhand der MAC-Adresse vergeben:
# Hier bekommt der Rechner mit der MAC 00:11:22:33:44:55 die IP 192,168.1.1 für 12 Stunden

dhcp-host=00:11:22:33:44:55,lobby,192.168.1.1,12h
dhcp-host=00:11:22:33:44:66,lobby2,192.168.1.2,12h

# Alle Rechner, die nicht per MAC identifiziert werden können, erhalten IPs
# aus dem Pool 192.168.1.120 bis 150

dhcp-range=192.168.1.120,192.168.1.150,12h
</pre>
<p><strong>DNS</strong></p>
<p>Die DNS-Funktionalität von dnsmasq benötigt eigentlich keine Konfiguration.<br />
dnsmasq besorgt sich seine Nameserver aus /etc/resolv.conf . Hier sollten die<br />
bekannten Nameserver des Providers eingetragen werden und evtl noch als Fallback<br />
die 8.8.8.8 für Googles DNS-Server.</p>
<p>Weitere Hostnames, die im lokalen Netz gelten sollen, können dnsmasq in der Datei<br />
/etc/hosts bekannt gemacht werden. Hier eingetragene Hostnames stehen allen Rechnern<br />
im LAN zur Verfügung.</p>
<p><strong>Fallstricke</strong></p>
<p>dnsmasq muss nach Konfigänderungen seine Konfigurationsdateien neu einlesen</p>
<pre>
/etc/init.d/dnsmasq restart
</pre>
<p>Falls Clients noch eine Lease vom alten DHCP-Server haben, kann man sie manuell dazu bringen, einen neuen DHCP-request zu starten.</p>
<pre>
#Linux
dhclient eth0

#Windows
ipconfig /RELEASE
ipconfig /RENEW
</pre>
<p>Dringend muss man darauf achten, den bisher genutzen DHCP-Server (meistens im Router zum Internet) zu deaktivieren. 2 DHCP-Server im LAN können viel Chaos generieren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/howto-quick-and-dirty-dhcp-server-und-dns-cache-mit-dnsmasq-unter-debian/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Wlan für EEE 1000H rt2860 unter Ubuntu</title>
		<link>http://www.daniel-ritter.de/blog/wlan-fur-eee-1000h-rt2860-unter-ubuntu</link>
		<comments>http://www.daniel-ritter.de/blog/wlan-fur-eee-1000h-rt2860-unter-ubuntu#comments</comments>
		<pubDate>Wed, 05 Oct 2011 12:58:40 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[eee 100h]]></category>
		<category><![CDATA[ndiswrapper]]></category>
		<category><![CDATA[wlan]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=911</guid>
		<description><![CDATA[Mit irgendeinem Update in letzter Zeit wurde das WLAN auf meinem EEE PC 1000H unter Ubuntu recht instabil. Dauernde Verbindungsabbrüche, kein WLAN nach Suspend, langsame Verbindung, etc. Ich bin mir nicht ganz sicher woran es liegt, wahrscheinlich hat der rt2860 Treiber mit irgendeinem Update einen Bug bekommen. Zum Glück kann das Problem durch die Installation [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/10/DSC00148.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/10/DSC00148-300x225.jpg" alt="" title="DSC00148" width="300" height="225" class="alignleft size-medium wp-image-924" /></a>Mit irgendeinem Update in letzter Zeit wurde das WLAN auf meinem EEE PC 1000H unter Ubuntu recht instabil. Dauernde Verbindungsabbrüche, kein WLAN nach Suspend, langsame Verbindung, etc.</p>
<p>Ich bin mir nicht ganz sicher woran es liegt, wahrscheinlich hat der rt2860 Treiber mit irgendeinem Update einen Bug bekommen.</p>
<p>Zum Glück kann das Problem durch die Installation der Windows-Treiber mit ndiswrapper gelöst werden.</p>
<p>Dies ist nur eine etwas verkürzte deutsche Übersetzung der <a href="http://ubuntuforums.org/showthread.php?t=1679651">englischen Originalanleitung</a> von nevdelap aus dem Ubuntuforum. (Vielen Dank)</p>
<p><strong>1. <a href="http://www.downv.com/Windows/install-comm-driver-gigabyte-mimobility-v-1-3-1-0-15-zip-10160703.htm">Windows Treiber saugen</a> und entpacken (comm_driver_gigabyte_mimobility_v.1.3.1.0.15.zip)</strong></p>
<p><strong>2. Linux Treiber blacklisten</strong></p>
<pre>
#/etc/modprobe.d/blacklist.conf

blacklist rt2x00lib
blacklist rt2x00pci
blacklist rt2x00usb
blacklist rt2400pci
blacklist rt2500pci
blacklist rt2500usb
blacklist rt2800lib
blacklist rt2800pci
blacklist rt2800usb
blacklist rt61pci
blacklist rt73usb
blacklist rt2600
blacklist rt2860 # Asus eee 1000H has an rt2860. To be loaded by ndiswrapper.
blacklist b43
blacklist b43legacy
blacklist ssb
blacklist r8192s_usb
</pre>
<p><strong>3. Mit ndisgtk den Windowstreiber aus drivers/GN-WI30N_WP30N_WS30N_WS30HN_WS31N/WINXP2k installieren</strong></p>
<pre>
sudo ndisgtk
</pre>
<p><strong>4. Grub konfigurieren</strong></p>
<pre>
#/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="pciehp.pciehp_force=1 pciehp.pciehp_poll=1 quiet splash"
</pre>
<pre>
sudo update-grub2
</pre>
<p><strong>5. Powermanagement Rule erstellen</strong></p>
<pre>
#/etc/pm/sleep.d/ndiswrapper

#!/bin/bash
case "$1" in
    hibernate|suspend)
        sudo rmmod ndiswrapper
        ;;
    thaw|resume)
        sudo modprobe ndiswrapper
        ;;
    *)
        ;;
esac
exit $?
</pre>
<pre>
chmod +x /etc/pm/sleep.d/ndiswrapper
</pre>
<p><strong><br />
6. Reboot</strong></p>
<p>Danach läuft das WLAN schnell und stabil.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/wlan-fur-eee-1000h-rt2860-unter-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Spickzettel</title>
		<link>http://www.daniel-ritter.de/blog/php-spickzettel</link>
		<comments>http://www.daniel-ritter.de/blog/php-spickzettel#comments</comments>
		<pubDate>Fri, 29 Jul 2011 13:29:12 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=904</guid>
		<description><![CDATA[Hier sammele ich nützliche PHP Codeschnipsel Pseudo Multithreading mit screen #!/usr/bin/php5 for ($i=1;$i]]></description>
			<content:encoded><![CDATA[<p>Hier sammele ich nützliche PHP Codeschnipsel</p>
<p><strong>Pseudo Multithreading mit screen</strong></p>
<pre>
#!/usr/bin/php5

for ($i=1;$i<50;$i++)
{
echo "starting $i\n";
exec("screen -d -m /usr/bin/php5 ./thread.php");
}
</pre>
<p><strong>MySQL Server has gone away in lange laufenden PHP-Shellscripten</strong></p>
<pre>
#/etc/php5/cli/php.ini
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.connect_timeout = -1
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/php-spickzettel/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Company Connect &#8211; Spass mit dem Telekom Vertrieb</title>
		<link>http://www.daniel-ritter.de/blog/company-connect-spass-mit-dem-telekom-vertrieb</link>
		<comments>http://www.daniel-ritter.de/blog/company-connect-spass-mit-dem-telekom-vertrieb#comments</comments>
		<pubDate>Thu, 07 Jul 2011 13:36:33 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Telekom Company Connect Vertrieb]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=890</guid>
		<description><![CDATA[Ein Kunde hatte ein Problem. Wegen einer speziellen Applikation, wurde ein schnellerer Ping nach Taiwan benötigt. Ein herkömmlicher Telekom DSLer brachte konstant 290 - 320ms zu Hinet, einem grossen taiwanesischen Provider. Eine streßfreie Nutzung der Applikation war mit diesen Paketlaufzeiten nicht möglich, deshalb forschte man nach Alternativen um eine schnellere Verbindung herzustellen. Ich war von [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Kunde hatte ein Problem. Wegen einer speziellen Applikation, wurde ein schnellerer Ping nach Taiwan benötigt. Ein herkömmlicher Telekom DSLer brachte konstant 290 - 320ms zu Hinet, einem grossen taiwanesischen Provider. Eine streßfreie Nutzung der Applikation war mit diesen Paketlaufzeiten nicht möglich, deshalb forschte man nach Alternativen um eine schnellere Verbindung herzustellen. Ich war von Anfang an skeptisch ob eine Verbesserung der Situation überhaupt möglich war. Mit dem DSLer wurden die Pakete zunächst über das Telekom-Netz nach New York geroutet. Von dort aus ging es mit AT&#038;T weiter quer durch die USA, dann über den Pazifik zu Hinet. Von Kalifornien bis Taiwan entstand der Hauptteil der Paketlaufzeit - fast 200ms. Meiner Meinung nach wäre eine Verbesserung nur möglich gewesen, wenn die Telekom selbst einen Backbone ihres Netzes in Taiwan unterhalten würde. Bei meiner Suche nach Anbietern, die das unmögliche leisten könnten, stieß ich auf das Telekom-Produkt <a href="http://geschaeftskunden.telekom.de/company-connect">Company Connect</a>, das aus einer Standleitung besteht, die direkt an den Telekom-Backbones hängt. Telefonisch versicherte man mir, dass man mit "CoCo" ohne weiteres einen Ping unter 50ms nach Asien erreicht. Ich war freudig überrascht, aber nach wie vor skeptisch. Einige Tage später kam ein jung-dynamischer Telekom-Vertriebler ins Haus und bestätigte die Behauptung der Hotline erneut. "Ich habe mich für Sie erkundigt, das ist alles kein Problem. Die Telekom unterhält weltweit Backbones." Beim verlassen des Gebäudes erzählte er mir noch, dass er sich gerade einen neuen BMW bestellt hätte. Sehr schön. Am nächsten Tag kam per E-Mail direkt der Vertrag ins Haus. Wir schickten ihn mit dem Zusatz zurück, dass wir den Vertrag stornieren können, falls keine Pings unter 100ms nach Taiwan erreicht werden könnten. Die Telekom unterschrieb. Danach passierte erst einmal lange nichts mehr. Der Vertriebler hatte eine Schaltung innerhalb eines Monats zugesichert. Nach einem Monat fragten wir nach, der Vertriebler war allerdings ab dann (bis heute) nicht mehr erreichbar. Auch E-Mails an seine Abteilung wurden nicht beantwortet. Nach 2 1/2 Monaten wurden wir ungeduldig und drohten mit einer Stornierung des Auftrags, falls nicht innerhalb einer Woche ein Termin für die Schaltung vereinbart werden könnte. Danach ging es plötzlich sehr schnell. Die "Eskalationsstelle" organisierte einen Termin für uns, die Leitung wurde geschaltet. Für einen ersten Test klemmte ich einen Router und mein Netbook an die brandneue Leitung.</p>
<pre>
box-ww-11:57:35 ~ -> ping www.hinet.net
PING www.hinet.net (202.39.224.7) 56(84) bytes of data.
64 bytes from 202-39-224-7.HINET-IP.hinet.net (202.39.224.7): icmp_req=1 ttl=237 time=306 ms
64 bytes from 202-39-224-7.HINET-IP.hinet.net (202.39.224.7): icmp_req=2 ttl=237 time=306 ms
</pre>
<p>LOL. Was hätte man anderes erwarten können? Exakt die gleichen Ping-Werte wie zuvor. Exakt die gleiche internationale Route wie zuvor. Kein technisches Problem. Einfach nur viel Bullshit-Blah-Blah. Ich bin gespannt, ob die Kündigung genauso "problemlos" funktionieren wird wie die Schaltung.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/company-connect-spass-mit-dem-telekom-vertrieb/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XS UMTS Stick W14 unter Ubuntu</title>
		<link>http://www.daniel-ritter.de/blog/xs-stick-w14-unter-ubuntu</link>
		<comments>http://www.daniel-ritter.de/blog/xs-stick-w14-unter-ubuntu#comments</comments>
		<pubDate>Sun, 19 Jun 2011 18:44:02 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[stick]]></category>
		<category><![CDATA[umts]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=869</guid>
		<description><![CDATA[Der XS Stick W 14 unter Ubuntu zickte ein wenig herum. Gelegentlich erkannte der Network-Manager ihn als USB-Modem, dann konnte er allerdings trotzdem keine Verbindung herstellen. Nach ein wenig erfolgloser Frickelei bin ich auf das Sakis3G Script gestoßen, das verspricht mit fast allen Sticks eine Verbindung herstellen zu können. Und tatsächlich: Es hat mit Sakis3G [...]]]></description>
			<content:encoded><![CDATA[
<div class="ngg-galleryoverview" id="ngg-gallery-9-869">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/xs-stick-w14-unter-ubuntu?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=9&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-111" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/mobilcom-stick/1.jpg" title=" " class="shutterset_set_9" >
								<img title="1" alt="1" src="http://www.daniel-ritter.de/blog/wp-content/gallery/mobilcom-stick/thumbs/thumbs_1.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-112" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/mobilcom-stick/2.jpg" title=" " class="shutterset_set_9" >
								<img title="2" alt="2" src="http://www.daniel-ritter.de/blog/wp-content/gallery/mobilcom-stick/thumbs/thumbs_2.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>Der XS Stick W 14 unter Ubuntu zickte ein wenig herum. Gelegentlich erkannte der Network-Manager ihn als USB-Modem, dann konnte er allerdings trotzdem keine Verbindung herstellen. Nach ein wenig erfolgloser Frickelei bin ich auf das <a href="http://www.sakis3g.org/">Sakis3G Script</a> gestoßen, das verspricht mit fast allen Sticks eine Verbindung herstellen zu können. Und tatsächlich: Es hat mit <a href="http://www.sakis3g.org/">Sakis3G</a> sofort funktioniert. Empfehlenswert, wahrscheinlich auch für andere Sticks.</p>
<pre>
TYPENSCHILD

XS Stick W14
P/N 3000.000056.00
www.4g-systems.com
</pre>
<pre>
#lsusb
Bus 002 Device 006: ID 1c9e:9603
</pre>
<pre>
# /var/log/syslog beim Einstecken

Jun 19 20:41:04 box kernel: [74186.796148] usb 2-2: new high speed USB device using ehci_hcd and address 7
Jun 19 20:41:04 box kernel: [74186.946031] scsi11 : usb-storage 2-2:1.0
Jun 19 20:41:05 box usb_modeswitch: switching 1c9e:f000 (USB Modem: USB Modem)
Jun 19 20:41:06 box kernel: [74189.293850] usb 2-2: USB disconnect, address 7
Jun 19 20:41:07 box kernel: [74189.660069] usb 2-2: new high speed USB device using ehci_hcd and address 8
Jun 19 20:41:07 box kernel: [74189.819348] option 2-2:1.0: GSM modem (1-port) converter detected
Jun 19 20:41:07 box kernel: [74189.819577] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB0
Jun 19 20:41:07 box kernel: [74189.819802] option 2-2:1.1: GSM modem (1-port) converter detected
Jun 19 20:41:07 box kernel: [74189.819950] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB1
Jun 19 20:41:07 box kernel: [74189.820220] option 2-2:1.2: GSM modem (1-port) converter detected
Jun 19 20:41:07 box kernel: [74189.820395] usb 2-2: GSM modem (1-port) converter now attached to ttyUSB2
Jun 19 20:41:07 box kernel: [74189.821414] scsi12 : usb-storage 2-2:1.3
Jun 19 20:41:07 box modem-manager[10480]: <info>  (ttyUSB1) opening serial port...
Jun 19 20:41:07 box modem-manager[10480]: <info>  (ttyUSB0) opening serial port...
Jun 19 20:41:07 box modem-manager[10480]: <info>  (ttyUSB2) opening serial port...
Jun 19 20:41:08 box usb_modeswitch: switched to 1c9e:9603 (USB Modem: Modem Configuration)
Jun 19 20:41:08 box kernel: [74190.823474] scsi 12:0:0:0: Direct-Access     USBModem Disk             2.31 PQ: 0 ANSI: 2
Jun 19 20:41:08 box kernel: [74190.825402] sd 12:0:0:0: Attached scsi generic sg3 type 0
Jun 19 20:41:08 box kernel: [74190.833436] sd 12:0:0:0: [sdc] Attached SCSI removable disk
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/xs-stick-w14-unter-ubuntu/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>12 Maßnahmen um einen Linux root LAMP Apache MySQL PHP Webserver abzusichern</title>
		<link>http://www.daniel-ritter.de/blog/10-masnahmen-um-einen-root-lamp-server-abzusichern</link>
		<comments>http://www.daniel-ritter.de/blog/10-masnahmen-um-einen-root-lamp-server-abzusichern#comments</comments>
		<pubDate>Wed, 15 Jun 2011 11:52:07 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[denyhosts]]></category>
		<category><![CDATA[display_errors]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[lamp]]></category>
		<category><![CDATA[mod_security]]></category>
		<category><![CDATA[open_basedir]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=798</guid>
		<description><![CDATA[Die Hacking-Frequenz ist in den letzten Monaten stark angestiegen. Besonders viele Daten werden abgegriffen durch Hacks auf Webserver. Sogar der SONY-PSN-Hack nutzte Schwachstellen in einem ungepatchten Apache-Webserver. Deshalb sammele ich hier Maßnahmen, die den eigenen Server etwas sicherer gegen Angriffe von außen machen können. Natürlich bieten auch diese keinen 100%igen Schutz, aber es ist besser, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/06/hacker.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/06/hacker.jpg" alt="" title="hacker" width="340" height="255" class="alignleft size-full wp-image-799" /></a><br />
Die Hacking-Frequenz ist in den letzten Monaten stark angestiegen. Besonders viele Daten werden abgegriffen durch Hacks auf Webserver. Sogar der SONY-PSN-Hack nutzte Schwachstellen in einem ungepatchten Apache-Webserver. Deshalb sammele ich hier Maßnahmen, die den eigenen Server etwas sicherer gegen Angriffe von außen machen können. Natürlich bieten auch diese keinen 100%igen Schutz, aber es ist besser, den bösen Buben das Spiel ein wenig schwieriger zu machen. Einige der Maßnahmen benötigen nur einen minimalen Installations- und Wartungsaufwand. Andere benötigen viel Zeit und Kenntnisse von PHP um zu greifen. Man sollte immer auf das Kosten-Nutzen-Verhältnis bei der Auswahl der Sicherheitsmaßnahmen achten. Es macht keinen Sinn, eine kleine, private Website so abzusichern wie die Federal Reserve Bank. Allerdings können wenige gezielte Änderungen am System bereits ein großes Mehr an Sicherheit bedeuten. Und das sollte man sich schon gönnen, bevor es zu spät ist....</p>
<p>Alle Tipps und Codesnips beziehen sich auf eine aktuelle Debian-Kiste.</p>
<p><strong>1. Die Firewall - erst einmal alles verbieten</strong></p>
<p>Die meisten Linux-Distributionen öffnen in ihren Standardinstallationen keine Ports nach außen, die nicht unbedingt notwendig sind. Diese Situation kann man jedoch schnell selbst ändern, wenn man am Server<br />
herumspielt und Dinge ausprobiert. Plötzlich lauscht auch der Mediaserver im Internet oder die Datenbank<br />
nimmt Verbindungen aus dem Internet entgegen. Deshalb ist es nicht verkehrt sich selbst zu disziplinieren und eine sehr restriktive Firewall aufzusetzen, die grundsätzlich erst einmal alle Verbindungen von außen verbietet und nur (selbst) ausgewählte Verbindungen gestattet. Zum Glück ist das mit iptables schnell erledigt. Auf diese Art und Weise kann man nicht mehr aus versehen Dienste der Welt zugänglich machen, die dort nichts zu suchen haben. Man bezahlt leider mit etwas Komfort - die Firewall muss jedes Mal angepasst werden, wenn man neue Dienste anbieten möchte. Trotzdem ist der Aufwand klein und der Nutzen groß. </p>
<p><PRE>
#!/bin/bash

# Bestehende Tables löschen
iptables -F

# Alle eingehenden Verbindungen verbieten
iptables -P INPUT DROP
iptables -P FORWARD DROP

# Alle ausgehenden erlauben
iptables -P OUTPUT ACCEPT

# SSH erlauben
iptables -A INPUT -j ACCEPT -p tcp --dport 22 

# HTTP erlauben
iptables -A INPUT -j ACCEPT -p tcp --dport 80 

# Weiteren Dienst (UDP) erlauben, zum Beispiel Gameserver
iptables -A INPUT -j ACCEPT -p udp --dport 4534 

# Alles von Localhost erlauben. (Damit der Server selbst ungehindert auf seine Dienste zugreifen kann,
# zum Beispiel PHP auf die lokale Datenbank
iptables -A INPUT -j ACCEPT -s 127.0.0.1

# Bereits aufgebaute Verbindungen werden an jedem Port akzeptiert
# (Notwendig für manche Daemons)
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
</pre></p>
<p>Dieses kleine Grundgerüst kann man einfach weiter ausbauen und eigene Dienste hinzufügen. Bei Arbeiten an der Firewall sollte man immer für den Fall vorsorgen, dass man sich selbst aussperrt. Besonders bei Remote-Servern, auf die man keinen physischen Zugriff hat, ist es sehr ärgerlich, durch eine mißglückte Firewallregel den eigenen Zugriff zu verlieren. Um diesem Problem aus dem Weg zu gehen, kann man bei Arbeiten an der Firewall einfach temporär einen Cronjob starten lassen, der die Firewall alle paar Minuten zurücksetzt oder den Server neu startet. Sind die Regeln später getestet und geliebt, kann der Cronjob wieder deaktiviert werden und die neuen Regeln bleiben permanent aktiv.</p>
<p>Um herauszufinden, welche Dienste gerade auf dem eigenen Server herumlauschen, kann man netstat benutzen:</p>
<p><PRE>
#Für TCP-Sockets:
netstat -lpn | grep tcp

#Analog für UDP:
netstat -lpn | grep udp
</pre>
<p>Um zu testen ob die Firewall wirklich funktioniert, kann man den eigenen Server von einem anderen Rechner aus portscannen. Hat alles geklappt, sollten im Ergebnis nur die selbst geöffneten Ports auftauchen:<br />
<PRE>
#Für TCP:
nmap -p1-65535 meinserver.de

#Für UDP:
nmap -sU -p1-65535 meinserver.de
</pre></p>
<p><strong>2. SSH Logins verbieten</strong></p>
<p>Am eigenen root-Server hat man uneingeschränkten SSH-Zugriff. Das ist recht praktisch, da man von jedem SSH-Client aus mal eben auf den Server kann um an ihm zu arbeiten. Der Nachteil davon ist, dass das natürlich auch jeder andere kann, der unglücklicher Weise irgendwie an das eigene Passwort gelangt ist. Es ist viel sicherer SSH-Logins nur mit einer gültigen Schlüsseldatei zu erlauben. Dafür wird der öffentliche Schlüssel des Clients auf den Server kopiert und interaktive Logins per Passworteingabe werden deaktiviert.</p>
<pre>
# Auf dem Client einen öffentlichen Schlüssel erstellen
# Wird bei der Generierung ein Passwort angegeben, benötigt man zum
# einloggen später die Schlüsseldatei UND das Passwort. Ansonsten wird
# nur der Schlüssel benötigt.

ssh-keygen -t rsa

# Den erstellten Schlüssel danach auf den Server kopieren

ssh-copy-id -i ~/.ssh/id_rsa.pub root@meinserver.de

# Danach auf dem Server /etc/ssh/sshd_config anpassen
.
.
PasswordAuthentication no
.
.

# Danach SSh neu starten
/etc/init.d/ssh restart
</pre>
<p>Auch hier sollte man Vorkehrungen treffen, um sich nicht selbst auszusperren, falls etwas nicht funktioniert.<br />
Der Public Key auf einem USB-Stick mit dem dazugehörigen Passwort im eigenen Kopf macht es sehr viel schwerer für böse Buben eine Shell zu erhalten.</p>
<p><strong>3. SSH Bruteforcing verhindern mit denyhosts </strong></p>
<p>Falls Tipp 2 nicht praktikabel ist und man den Komfort von passwortgestützten Logins nicht aufgeben will, kann man zumindest das automatisierte Passwortraten von Angreifern auf dem Server verhindern. Sehr viele Bots im Internet machen den ganzen Tag nichts anderes als nach SSH-Servern zu suchen und bei Ihnen verschiedenste Passwörter durchzuprobieren. Mit einem halbwegs sicheren Passwort ist das kein großes Problem, trotzdem gibt es ein besseres Gefühl, wenn nicht einmal das möglich ist. Außerdem schützt man so auch seine User, falls auf dem Server auch Useraccounts bestehen. Hier kann man sich nicht darauf verlassen, dass die Benutzer sichere Passwörter verwenden. denyhosts überprüft ständig Logins auf dem ssh und sperrt Benutzer für eine gewisse Zeit, die ihr Passwort wiederholt falsch angegeben haben. Die IP's dieser Nutzer landen temporär in /etc/hosts.deny, so dass für sie kein Zugriff mehr möglich ist. Damit wird SSH-Bruteforcing zu einer sehr langwierigen und wenig erfolgversprechenden Aufgabe.</p>
<pre>
apt-get install denyhosts

# denyhosts funktioniert direkt nach der Installation. Man kann es
# in der Datei /etc/denyhosts.conf feintunen
</pre>
<p><strong>4. Blacklisten benutzen, um bekannte Problem-IPs auszusperren</strong></p>
<p>Im Internet werden verschiedene Blacklisten gepflegt, die eine große Anzahl von kriminellen/gehackten/spammenden/betrügerischen Servern auflisten. Diese IP-Listen können direkt in die Firewall eingetragen werden, so dass von diesen bekanntermaßen nicht vertrauenswürdigen Rechnern überhaupt keine Verbindung mehr zum eigenen Server möglich ist. So kann man das Spamaufkommen auf dem eigenen Server drastisch verringern und auch das eine oder andere Script-Kiddie aussperren, weil sein Russland-Proxy plötzlich nicht mehr funktioniert. Wie man das macht habe ich bereits <a href="http://www.daniel-ritter.de/blog/linux-server-mit-der-scamspamcrime-blacklist-von-infiltrated-net-absichern">in einem anderen Blog-Artikel</a> am Beispiel der Blacklist von Infiltrated.net beschrieben.</p>
<p><strong>5. Kein FTP benutzen für die Arbeit am Server</strong></p>
<p>FTP ist ein Relikt aus besseren Zeiten in denen das Internet noch ein kleines vertrauenswürdiges Dörfchen war. Viele Admins von Webseiten nutzen nach wie vor FTP um Dateien zum Server zu übertragen oder um an der eigenen Website zu arbeiten. Das ist leider sehr unsicher, da FTP alle Daten ungesichert übertragt. Passwörter und Daten können an jedem Hop zwischen Server und Client ohne Probleme mitgelesen werden. Viel sicherer geht es mit sshfs. Hiermit kann man sich per SSH ein Verzeichnis des Remote-Servers in sein lokales Dateisystem mounten. Man kann danach auf dem Server so arbeiten, als sei er auf dem lokalen Rechner. Alle Dateizugriffe auf Dateien auf dem Server sind komplett transparant, man kann also auch mit dem lokalen Grafikprogramm ein Bild auf dem Server direkt öffnen, bearbeiten und wieder speichern. Mehr Komfort und mehr Sicherheit ohne großen Aufwand.</p>
<pre>
#sshfs installieren
apt-get install sshfs

#mountpoint im lokalen Dateisystem anlegen
mkdir /media/meinserver

#Server ins lokale Dateisystem mounten
sshfs www-data@mein-server.de:/var/www /media/meinserver

#Nun ist das Verzeichnis /var/www auf meinserver lokal unter /media/meinserver verfügbar
</pre>
<p><strong>6. Updates installieren</strong></p>
<p>Ein super abgesichertes System hilft nichts, wenn das System selbst fehlerhaft ist und eine bekannte Sicherheitslücke ausgenutzt werden kann. Meist werden diese Sicherheitslücken schnell geschlossen, oft vergessen Admins jedoch regelmäßige Updates des Systems zu machen. Ob man automatische Updates auf Linux-Servern aktivieren sollte oder nicht ist ein strittiges Thema. Einige würden es niemals tun, da es natürlich mit viel Pech auch sein kann, dass die Updates das System unbrauchbar machen. Dies ist mir in über 10 Jahren Arbeit an Debian-Systemen allerdings niemals passiert und ich schätze den Nutzen von zeitnahen und regelmässigen Updates viel höher ein, als die daraus entstehende Gefahr.</p>
<pre>
#Diese Zeile in der /etc/crontab aktualisiert das System täglich um 6 Uhr morgens
0 6 * * *       root    apt-get update &#038;& apt-get -y upgrade
</pre>
<p>Diese Quick-and-dirty Methode funktionierte bei mir bisher immer gut. Vor kurzem habe ich gelesen, dass im Debian Repository auch das Paket unattended-upgrades existiert, das die Aufgabe wohl etwas eleganter löst, ich habe es allerdings bisher nicht getestet.</p>
<p>Auch bei diesen vollautomtischen Systemupdates ist man nicht komplett aus dem Schneider. Falls ein Kernel-Update ausgeliefert wurde, muss man das System trotzdem noch per Hand neu booten, da ansonsten die Änderungen nicht aktiv werden.</p>
<p>Benutzt man fremden PHP-Code auf dem Server, wie zum Beispiel ein Open-Source CMS oder ein Forum, ist es natürlich absolut notwendig auch diesen Code mit neuen Versionen aktuell zu halten. Da Debian mit seinen Updates Änderungen an diesen Applikationen in der Regeln nicht abdeckt, ist hier Handarbeit nötig. Am besten liest man die Mailinglisten der entsprechenden Produkte mit um immer auf dem Laufenden zu sein.</p>
<p><strong>7. PHP einsperren mit open_basedir</strong></p>
<p>Viele Hacks basieren darauf, dass eine Sicherheitslücke im PHP-Code ausgenutzt wird, um auf Dateien im Dateisystem zuzugreifen, die nicht zur Website gehören, sondern zum System selbst. Deshalb sollte man PHP einsperren, so dass es nur in explizit erlaubten Verzeichnissen lesen und schreiben darf. Dafür bietet die php.ini die Konfigurationsoption open_basedir. PHP hat nach setzten der Option nur noch Zugriff auf die dort erlaubten Verzeichnisse. Dateien wie /etc/passwd werden unerreichbar. Hostet man auf einem Server mehrere Webseiten sollte man  open_basedir in der jeweiligen VirtualHost-Konfiguration pro Seite setzen.</p>
<pre>
# Global per php.ini:
# /etc/php5/apache2/php.ini
open_basedir = /var/www/:/tmp/

# Per Site in der VirtualHost Config:
php_value open_basedir /var/www/site/:/tmp/
</pre>
<p>Wichtig ist zu prüfen ob wirklich alle Orte eingetragen wurden, auf die die Skripte normalerweise Zugriff haben müssen, ansonsten kann es sein, dass man auch legitime Funktionen der PHP-Applikation behindert.</p>
<p><strong>8. Für Websites einen eigenen MySQL-Benutzer anlegen</strong></p>
<p>Benutzt die eigene PHP-Applikation MySQL, sollte man unbedingt für die Apllikation einen eigenen MySQL-Benutzer anlegen und auf keinen Fall den MySQL-root-Benutzer für Zugriffe nutzen. Außerdem sollte man die Rechte des Benutzers so weit einschränken, dass wirklich nur noch Operationen erlaubt sind, die das PHP-Skript benötigt. CREATE TABLE und DROP TABLE werden zum Beispiel häufig bei SQL-Injections genutzt und werden in den meisten PHP-Applikationen nie benötigt. Hostet man mehrere Websites mit mehreren Datenbanken auf einem Server, sollte man für alle Datenbanken eigene Benutzer anlegen. So hat ein Angreifer nach einem erfolgreichen Angriff nur Zugriff auf eine der Datenbanken und nicht direkt auf alle. Wenn man nicht die Kommandozeile bemühen möchte, um die MySQL-Useraccounts zu verwalten, funktioniert das Usermanagement auch recht einfach mit PHPmyAdmin unter der Registerkarte "Rechte".</p>
<p><strong>9. PHP Fehlermeldungen abschalten</strong></p>
<p>PHP-Fehlermeldungen können einem Angreifer viel über den eigenen Server verraten: Verzeichnisstrukturen, Datenbankstrukturen, Konfigurationsfehler, etc. Außerdem sehen sie für den Benutzer sehr unprofessionell aus. Aus diesem Grund sollte man sie auf einem Live-Webserver grundsätzlich abschalten, da man sie ohnehin weiterhin in den Logs sehen kann.</p>
<pre>
# Global per php.ini:
# /etc/php5/apache2/php.ini
display_errors = Off

# Per Site in der VirtualHost Config:
php_flag display_errors Off

# Fehlermeldungen trotzdem lesen:
cat /var/log/apache2/error.log | grep PHP
</pre>
<p><strong>10. Angriffsfläche für SQL-Injections einschränken mit modSecurity </strong></p>
<p>SQL-injections sind die wohl am häufigsten genutzte Angriffsmethode auf Webserver. Der Zugriff erfolgt direkt über die Webapplikation und es genügt ein Browser um sie durchzuführen. Dabei werden über vom User übermittelte Variablen geschickt SQL-Abfragen eingebaut, die mit den Rechten des Datenbankbenutzers alles an der eigenen Datenbank nach belieben auslesen, löschen oder bearbeiten können. Ein wirklicher echter Schutz gegen SQL-Injections besteht nur, wenn der PHP-Code der Site im Hinblick auf diese Angriffe geschrieben wurde. Jede Variable aus Benutzereingaben, die in eine SQL-Abfrage gelangen könnte, muss geprüft und escaped werden. PHP bietet dafür die Funktion real_mysql_escape_string(). </p>
<p>Ist man nicht sicher, ob der Code sauber ist, kann mod_security für den Apache helfen eine große Menge dieser Angriffe trotzdem abzuwehren. mod_security überprüft ständig alle Requests an den Webserver und reagiert auf vorgefertigte Muster mit denen viele SQL-Injection-Angriffe abgewehrt werden können. Leider funktioniert auch mod_security nur gut mit manuellem Aufwand. Oft blockt mod_security nach einer frischen Installation auch gewünschte (normale) Funktionen des eigenen PHP-Codes, so dass einem nichts anderes übrig bleibt, als die komplette Applikation nach der Installation einmal durchzutesten. Nur so findet man heraus, ob mod_security nicht eventuell auch gewünscht Funktionen blockt. Ist das der Fall, muss die Filterliste angepasst werden, so dass die false-positives verschwinden. </p>
<p>Die Konfiguration von mod_security ist etwas komplizierter und würde den Umfang dieses Artikels sprengen, es gibt aber massenweise gute Tutorials zu mod_security im Internet.</p>
<p><strong>11. Ausweiskontrolle - Der Apache sagt nicht mehr, wer er ist </strong><br />
Dies ist keine wirklich wirkungsvolle Methode gegen einen Hack, sie macht es automatisierten Skripten, die nach Server-Versionen suchen aber etwas schwerer. Normalerweise zeigt der Apache auf Seiten mit Fehlermeldungen (z.B. 404 Not Found) seine Serversignatur.</p>
<pre>
Apache/2.2.16 (Debian) Server at www.daniel-ritter.de Port 80
</pre>
<p>So erhalten potentielle Angreifer zumindest schon einmal Informationen über den eigesetzten Webserver und den Versionsstand. Die Serversignatur ist schnell ausgeschaltet:</p>
<pre>
#/etc/apache2/conf.d/security
ServerSignature Off
</pre>
<p><strong>12. Nicht benutze Apache-Module deaktivieren</strong></p>
<p>Per default hat der Apache einige Module geladen, die fast nie benötigt werden. Unter Debian findet man die geladenen Module<br />
als Softlinks in /etc/apache2/mods-enabled.</p>
<p>Fast immer entfernt werden können:</p>
<p><em>mod_cgi</em></p>
<p>Dient dem ausführen von CGI-Skripten. Diese Technik stammt noch aus den Urzeiten des Web und war der Vorvater der modernen Skriptsprachen um dynamische Webseiten zu ermöglichen. mod_cgi ist auf 99% der PHP-Websites unnötig und bei einer fehlerhaften Apache-Config eine potentielle Sicherheitslücke</p>
<pre>
a2dismod cgi
</pre>
<p><em>mod_status</em></p>
<p>Ermöglicht es Browsern Statusinformationen über den Apache auszulesen. Es wird so gut wie nie für "normale" Sites genutzt, bietet Angreifern aber Statusinformationen über den Apache.</p>
<pre>
a2dismod status
</pre>
<p><em>mod_autoindex</em></p>
<p>mod_autoindex sorgt dafür, dass Verzeichnisse auf dem Webserver aufgelistet werden können, wenn es keine gültige Index-Seite in dem entsprechenden Verzeichnis gibt. Falls diese Funktionalität nicht erwünscht ist, sollte man sie abschalten, da durch sie ganze Verzeichnisbäume auf dem Webserver nach aussen sichtbar werden können.</p>
<pre>
a2dismod autoindex
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/10-masnahmen-um-einen-root-lamp-server-abzusichern/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux Server mit der Scam/Spam/Crime Blacklist von Infiltrated.net absichern</title>
		<link>http://www.daniel-ritter.de/blog/linux-server-mit-der-scamspamcrime-blacklist-von-infiltrated-net-absichern</link>
		<comments>http://www.daniel-ritter.de/blog/linux-server-mit-der-scamspamcrime-blacklist-von-infiltrated-net-absichern#comments</comments>
		<pubDate>Thu, 09 Jun 2011 21:49:03 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=775</guid>
		<description><![CDATA[Im Internet gibt es viele böse Buben: Scammer, Hacker, Viagrabuden, Scriptkiddies, etc. Infiltrated.net pflegt eine recht umfangreiche Liste auffällig gewordener Server unter http://www.infiltrated.net/blacklisted. Wenn man Zugriff auf seinen Server oder auch sein Heimnetz von diesen IP's unterbindet, hat man bereits sehr viele Russen Proxies, Spammer und anderes Gesindel ausgesperrt. Das folgende kleine Script saugt sich [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/06/Master_Padlock.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/06/Master_Padlock-300x225.jpg" alt="" title="Master_Padlock" width="300" height="225" class="alignleft size-medium wp-image-784" /></a></p>
<p>Im Internet gibt es viele böse Buben: Scammer, Hacker, Viagrabuden, Scriptkiddies, etc.</p>
<p>Infiltrated.net pflegt eine recht umfangreiche Liste auffällig gewordener Server unter <a title="http://www.infiltrated.net/blacklisted" href="http://www.infiltrated.net/blacklisted">http://www.infiltrated.net/blacklisted</a>.</p>
<p>Wenn man Zugriff auf seinen Server oder auch sein Heimnetz von diesen IP's unterbindet, hat man bereits sehr viele Russen Proxies, Spammer und anderes Gesindel ausgesperrt.</p>
<p>Das folgende kleine Script saugt sich automatisch die aktuelle Liste und trägt die Hosts in die Firewall ein.</p>
<p>Mit einem Cronjob regelmässig gestartet, ermöglicht es ein Quentchen mehr Sicherheit für die eigenen Dienste. </p>
<p><pre>
#!/usr/bin/php
&lt;?
# Zuerst bereits bestehende (eigene) Firewallrules ausführen
exec("/root/scripts/meine_standard_firewall_rules");

# Blacklist saugen
exec("wget -O /tmp/infiltrated_blacklist http://www.infiltrated.net/blacklisted");

$list = file("/tmp/infiltrated_blacklist");

$i = 1;

# Ein bisschen auseinanderschnibbeln und ab in Iptables
foreach ($list as $line)
{
$line = trim($line);
$line = str_replace("\t"," ",$line);

$line = explode(" ",$line);
$line = $line[0];

$firstchar = substr($line,0,1);
if (!is_numeric($firstchar))continue;

exec ("iptables -I INPUT -s $line  -j DROP");
$i++;
}

echo "done. $i rules set.";
?&gt;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/linux-server-mit-der-scamspamcrime-blacklist-von-infiltrated-net-absichern/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Adobe Flash plugin has crashed &#8211; Reparieren &#8211; Ubuntu &#8211; NVidia</title>
		<link>http://www.daniel-ritter.de/blog/the-adobe-flash-plugin-has-crashed-reparieren-ubuntu-nvidia</link>
		<comments>http://www.daniel-ritter.de/blog/the-adobe-flash-plugin-has-crashed-reparieren-ubuntu-nvidia#comments</comments>
		<pubDate>Mon, 28 Mar 2011 17:27:55 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=767</guid>
		<description><![CDATA[Seit einer der letzten Firefox Versionen wollte Flash nicht mehr so richtig. Bei sehr vielen Videos crashte der Adobe Flash Player. Ich habe das Problem gelöst, bin mir aber nicht 100%ig sicher woran es lag. Ich tippe auf 2 Bugs: Einmal auf das Zusammenspiel der Hardwarebeschleunigung von Flash mit meiner Grafikkarte und zum anderen auf [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/03/The-Adobe-Flash-plugin-has-crashed.jpg"><img class="alignleft size-full wp-image-768" title="The Adobe Flash plugin has crashed" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/03/The-Adobe-Flash-plugin-has-crashed.jpg" alt="" width="349" height="290" /></a>Seit einer der letzten Firefox Versionen wollte Flash nicht mehr so richtig. Bei sehr vielen Videos crashte der Adobe Flash Player. Ich habe das Problem gelöst, bin mir aber nicht 100%ig sicher woran es lag. Ich tippe auf 2 Bugs: Einmal auf das Zusammenspiel der Hardwarebeschleunigung von Flash mit meiner Grafikkarte und zum anderen auf das neue Plugin-Crash-Handling von Firefox.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>1. Hardwarebeschleunigung deaktivieren</strong></p>
<p>In ein Flash-Video rechtsklicken. Einstellungen wählen. Haken bei Hardwarebeschleunigung entfernen.</p>
<p><strong>2. Plugin-Crash-Handling von Firefox deaktivieren</strong></p>
<p>about:config in der Adresszeile eingeben</p>
<p>Die Werte <em>dom.ipc.plugins.processLaunchTimeoutSecs</em> und <em>dom.ipc.plugins.timeoutSecs</em> auf "-1" setzen.</p>
<p>&nbsp;</p>
<p>Seitdem habe ich keine Probleme mehr mit Ubuntu 10.10, Firefox 4 und Flash 10.2.153.1</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/the-adobe-flash-plugin-has-crashed-reparieren-ubuntu-nvidia/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USB Spickzettel: So sehen USB Stecker aus</title>
		<link>http://www.daniel-ritter.de/blog/usb-spickzettel-so-sehen-usb-stecker-aus</link>
		<comments>http://www.daniel-ritter.de/blog/usb-spickzettel-so-sehen-usb-stecker-aus#comments</comments>
		<pubDate>Thu, 10 Feb 2011 16:32:24 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[USB Stecker Spickzettel]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=753</guid>
		<description><![CDATA[Im Bild zu sehen von links nach rechts: Micro USB "B" - Mini USB "B" - Mini USB "B" 5 Pin - USB "A" weiblich - USB "A" männlich - USB "B" männlich]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/02/usb_stecker.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/02/usb_stecker.jpg" alt="" title="usb_stecker" width="600" height="144" class="aligncenter size-full wp-image-754" /></a> Im Bild zu sehen von links nach rechts: Micro USB "B" - Mini USB "B" - Mini USB "B" 5 Pin - USB "A" weiblich - USB "A" männlich - USB "B" männlich</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/usb-spickzettel-so-sehen-usb-stecker-aus/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Out of the box mit Ubuntu &#8211; LogiLink WL0049A Wireless N USB Wifi WLAN Stick</title>
		<link>http://www.daniel-ritter.de/blog/out-of-the-box-mit-ubuntu-logilink-wl0049a-wireless-n-usb-wifi-wlan-stick</link>
		<comments>http://www.daniel-ritter.de/blog/out-of-the-box-mit-ubuntu-logilink-wl0049a-wireless-n-usb-wifi-wlan-stick#comments</comments>
		<pubDate>Thu, 27 Jan 2011 14:22:22 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[wifi stick outofthebox]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=746</guid>
		<description><![CDATA[Es ist mal wieder an der Zeit für Out-Of-The-Box Hardware für Ubuntu. Der Low-Budget USB WLAN-Stick von LogiLink funktioniert sofort ohne Konfiguration und Treiberinstallation unter einem aktuellen Ubuntu 10.10. Nach dem Einstecken ist im Netzwerkmanager sofort die Liste der verfügbaren WLANs verfügbar. Nicht schlecht für einen absoluten Low-Budget Stick (ca. 10 Euro). Mit den teureren [...]]]></description>
			<content:encoded><![CDATA[
<div class="ngg-galleryoverview" id="ngg-gallery-8-746">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/out-of-the-box-mit-ubuntu-logilink-wl0049a-wireless-n-usb-wifi-wlan-stick?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=8&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-108" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/logilink-wireless-usb-stick-wl0049a/IMG_0156.JPG" title=" " class="shutterset_set_8" >
								<img title="IMG_0156" alt="IMG_0156" src="http://www.daniel-ritter.de/blog/wp-content/gallery/logilink-wireless-usb-stick-wl0049a/thumbs/thumbs_IMG_0156.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-109" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/logilink-wireless-usb-stick-wl0049a/IMG_0158.JPG" title=" " class="shutterset_set_8" >
								<img title="IMG_0158" alt="IMG_0158" src="http://www.daniel-ritter.de/blog/wp-content/gallery/logilink-wireless-usb-stick-wl0049a/thumbs/thumbs_IMG_0158.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-110" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/logilink-wireless-usb-stick-wl0049a/IMG_0160.JPG" title=" " class="shutterset_set_8" >
								<img title="IMG_0160" alt="IMG_0160" src="http://www.daniel-ritter.de/blog/wp-content/gallery/logilink-wireless-usb-stick-wl0049a/thumbs/thumbs_IMG_0160.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


<p>Es ist mal wieder an der Zeit für Out-Of-The-Box Hardware für Ubuntu. Der Low-Budget USB WLAN-Stick von LogiLink funktioniert sofort ohne Konfiguration und Treiberinstallation unter einem aktuellen Ubuntu 10.10. Nach dem Einstecken ist im Netzwerkmanager sofort die Liste der verfügbaren WLANs verfügbar. Nicht schlecht für einen absoluten Low-Budget Stick (ca. 10 Euro). Mit den teureren von Netgear und Konsorten hat man leider einige Probleme mehr. Lediglich die Empfangsstärke ist nicht berauschend. Falls sich der Accesspoint oder Router im selben Raum befindet, hat man jedoch keine Probleme.</p>
<p>So meldet sich der Stick nach dem Einstecken:</p>
<pre>
Jan 27 15:15:48 box kernel: [50425.764049] usb 2-1: new high speed USB device using ehci_hcd and address 7
Jan 27 15:15:48 box kernel: [50425.916061] === pAd = f89cc000, size = 472668 ===
Jan 27 15:15:48 box kernel: [50425.916063] <-- RTMPAllocAdapterBlock, Status=0
Jan 27 15:15:48 box kernel: [50426.212122] <-- RTMPAllocTxRxRingMemory, Status=0
Jan 27 15:15:48 box kernel: [50426.214376] -->RTUSBVenderReset
Jan 27 15:15:48 box kernel: [50426.214495] <--RTUSBVenderReset
Jan 27 15:15:48 box kernel: [50426.495844] 1. Phy Mode = 0
Jan 27 15:15:48 box kernel: [50426.495847] 2. Phy Mode = 0
Jan 27 15:15:48 box kernel: [50426.495849] NVM is Efuse and its size =2d[2d0-2fc]
Jan 27 15:15:48 box kernel: [50426.556586] RTMPSetPhyMode: channel is out of range, use first channel=1
Jan 27 15:15:48 box kernel: [50426.573077] 3. Phy Mode = 0
Jan 27 15:15:48 box kernel: [50426.578953] MCS Set = 00 00 00 00 00
Jan 27 15:15:48 box kernel: [50426.638326] <==== rt28xx_init, Status=0
Jan 27 15:15:48 box kernel: [50426.639953] 0x1300 = 00073200
Jan 27 15:15:49 box kernel: [50426.924845] ---> RTMPFreeTxRxRingMemory
Jan 27 15:15:49 box kernel: [50426.924866] <--- RTMPFreeTxRxRingMemory
Jan 27 15:15:49 box kernel: [50427.195749] <-- RTMPAllocTxRxRingMemory, Status=0
Jan 27 15:15:49 box kernel: [50427.198006] -->RTUSBVenderReset
Jan 27 15:15:49 box kernel: [50427.198133] <--RTUSBVenderReset
Jan 27 15:15:49 box kernel: [50427.484608] 1. Phy Mode = 0
Jan 27 15:15:49 box kernel: [50427.484610] 2. Phy Mode = 0
Jan 27 15:15:49 box kernel: [50427.484612] NVM is Efuse and its size =2d[2d0-2fc]
Jan 27 15:15:49 box kernel: [50427.557222] 3. Phy Mode = 0
Jan 27 15:15:49 box kernel: [50427.563097] MCS Set = 00 00 00 00 00
Jan 27 15:15:49 box kernel: [50427.625962] <==== rt28xx_init, Status=0
Jan 27 15:15:49 box kernel: [50427.627588] 0x1300 = 00073200
Jan 27 15:15:54 box kernel: [50432.648580] ===>rt_ioctl_giwscan. 3(3) BSS returned, data->length = 483
Jan 27 15:15:59 box kernel: [50437.679264] ===>rt_ioctl_giwscan. 2(2) BSS returned, data->length = 308
Jan 27 15:15:59 box kernel: [50437.679356] ==>rt_ioctl_siwfreq::SIOCSIWFREQ[cmd=0x8b04] (Channel=1)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/out-of-the-box-mit-ubuntu-logilink-wl0049a-wireless-n-usb-wifi-wlan-stick/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mehrere Videos synchron ferngesteuert übers Netzwerk starten mit VLC</title>
		<link>http://www.daniel-ritter.de/blog/mehrere-videos-synchron-ferngesteuert-ubers-netzwerk-starten-mit-vlc</link>
		<comments>http://www.daniel-ritter.de/blog/mehrere-videos-synchron-ferngesteuert-ubers-netzwerk-starten-mit-vlc#comments</comments>
		<pubDate>Wed, 19 Jan 2011 13:48:36 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[vlc fernsteuerung]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=728</guid>
		<description><![CDATA[Eine befreundete Designstudentin wollte für die Präsentation ihrer Diplomarbeit eine Videoinstallation aufbauen. Auf im Raum angeordneten Fernsehern sollten parallel 3 von ihr erstellte Filme laufen und gleichzeitig gestartet werden. Die 3 Filme sind so geschnitten, dass sie gemeinsam ein Gesamtkunstwerk (und hoffentlich eine gute Abschlussnote) ergeben. Ein Veranstaltungsunternehmen verlangte für den Aufbau einige 1000 Euro. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/01/2011-01-17-22-06-09-170.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2011/01/2011-01-17-22-06-09-170-300x225.jpg" alt="" title="2011-01-17-22-06-09-170" width="300" height="225" class="alignright size-medium wp-image-729" /></a></p>
<p>Eine befreundete Designstudentin wollte für die Präsentation ihrer Diplomarbeit eine Videoinstallation aufbauen. Auf im Raum angeordneten Fernsehern sollten parallel 3 von ihr erstellte Filme laufen und gleichzeitig gestartet werden. Die 3 Filme sind so geschnitten, dass sie gemeinsam ein Gesamtkunstwerk (und hoffentlich eine gute Abschlussnote) ergeben. Ein Veranstaltungsunternehmen verlangte für den Aufbau einige 1000 Euro. Das überstieg das Budget meiner Bekannten leider um einige 1000 Euro, deshalb haben wir den Aufbau selbst mit Open Source Software zusammengefrickelt. 3 (Windows)-Notebooks wurden per HDMI an die jeweiligen Fernseher angeschlossen und über einen Switch vernetzt. Ein viertes (Linux)-Notebook diente als zentraler Steuerrechner. Der VLC Media-Player bietet neben einer hervorragenden Unterstützung fast aller Videoformate auch viele weitere nützliche Funktionen. In diesem Aufbau kam das Remote Control Interface des VLC zum Einsatz, das es ermöglicht, den Player übers Netzwerk oder das Internet komplett fernzusteuern.</p>
<p>
Die Windows Rechner bekamen die IP's 192.168.0.1 bis 192.168.0.3. Der Linux-Steuer-Rechner die IP 192.168.0.100.<br />
Das Fernsteuerungsskript ist angelehnt an das Tutorial von <a href="http://markusberg.de/Informatik/9/videos-fernsteuern-ueber-vlc">Markus Berg</a> (vielen Dank).</p>
<p><pre>
#/bin/bash

ip[0]="192.168.0.1"
ip[1]="192.168.0.2"
ip[2]="192.168.0.3"

port=20000

function send_cmd {

for address in ${ip[@]}
	do
                echo "$1" | nc $address $port &#038;
	done

}

while ( [ 1 ] )
do
clear
echo "Video Command"
echo
echo " s  | START"
echo " p  | PAUSE/PLAY"
echo " z  | ZURUECKSPULEN"
echo " zp | ZURUECKSPULEN + PAUSE"
echo " f  | VOLLBILD AN/AUS"
echo " b  | Beenden"
echo
echo

echo
echo -n "Kommando? "
read command

case "$command" in
     s)
	   send_cmd play
           ;;
     p)
	   send_cmd pause
           ;;
     z)
	   send_cmd prev
           ;;
     zp)
	   send_cmd prev
	   perl -e 'select(undef,undef,undef,.3)'
	   send_cmd pause
           ;;
     f)
	   send_cmd fullscreen
           ;;
     b)
	   exit
	   ;;
esac
done;
</pre>
<p>Dieses Skript auf dem Steuerungsrechner ergibt dieses spartanische menü:</p>
<pre>
Video Command

 s  | START
 p  | PAUSE/PLAY
 z  | ZURUECKSPULEN
 zp | ZURUECKSPULEN + PAUSE
 f  | VOLLBILD AN/AUS
 b  | Beenden

Kommando? 
</pre>
<p>Auf den Windowsrechner musste nun nur noch aus der Windows-Konsole heraus VLC im Remote Control Modus gestartet werden:</p>
<pre>
vlc --extraintf oldrc --rc-host 192.168.0.1:20000
</pre>
<p>Nun wurde noch das Video in die jeweilige VLC-Playlist eingefügt. Die Fernsteuerung war fertig.</p>
<p>
Leider gab es (wie fast immer) einige Fallstricke. Bei unseren Tests zickte zunächst die Windows-Firewall herum. Für die Präsentation musste diese deaktiviert werden. Generell war Windows keine besonders gute Wahl für die Präsentation, da Update-Meldungen, Avira-Popups und andere Nervereien natürlich im Video ziemlich peinlich wirken. Die Windows-Rechner mussten ziemlich kastriert werden. Firewalls, Virenscanner und Automatische Updates wurden deaktiviert. Zahlreiche Programme, die es sich im Tray gemütlich gemacht hatten, wurden deinstalliert. Im Endeffekt würde ich beim nächsten Mal das Abspielen auch mit Linux Clients realisieren, die aber wegen des Zeitdrucks nicht verfügbar waren.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/mehrere-videos-synchron-ferngesteuert-ubers-netzwerk-starten-mit-vlc/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Milestone flashen unter Linux mit sbf_flash</title>
		<link>http://www.daniel-ritter.de/blog/milestone-flashen-unter-linux-mit-sbf_flash</link>
		<comments>http://www.daniel-ritter.de/blog/milestone-flashen-unter-linux-mit-sbf_flash#comments</comments>
		<pubDate>Mon, 25 Oct 2010 16:14:13 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=704</guid>
		<description><![CDATA[Ich habe bisher Windows nur noch für eine einzige Sache benötigt: Um mein Motorola Milestone mit neuer Firmware zu beflashen. Dafür waren bisher ein spezieller USB-Treiber und ein Flashtool von Motorola notwendig. Diese gab es nur für Windows und aus VirtualBox heraus haben sie nicht funktioniert. [mbm], ein Android Hacker aus #milestone-modding auf irc.freenode.net hat [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe bisher Windows nur noch für eine einzige Sache benötigt: <a href="http://www.daniel-ritter.de/blog/ein-lustiger-windowsausflug">Um mein Motorola Milestone mit neuer Firmware zu beflashen</a>. Dafür waren bisher ein spezieller USB-Treiber und ein Flashtool von Motorola notwendig. Diese gab es nur für Windows und aus VirtualBox heraus haben sie nicht funktioniert. [mbm], ein Android Hacker aus #milestone-modding auf irc.freenode.net hat jetzt eine Binary zusammengebastelt, mit der es auch wunderbar unter Linux funktioniert. Getestet wurde es von mir unter Ubuntu 10.10. Leider gibt es keinen Quelltext zu der App, aber es funktioniert einwandfrei. Viele andere User bestätigen das hier in der offiziellen Bekanntmachung: <a href="http://blog.opticaldelusion.org/2010/05/sbfflash.html">http://blog.opticaldelusion.org/2010/05/sbfflash.html</a></p>
<p>Download: <a href="http://dl.opticaldelusion.org/sbf_flash">Original</a> | <a href="http://www.daniel-ritter.de/blog/extras/sbf_flash">Lokaler Mirror</a></p>
<p>So sieht ein Flashvorgang mit sbf_flash aus:</p>
<pre>
box-root-18:01:33 /home/ww/Desktop -> ./sbf_flash ./GOT_DACH_GERMANY_2_2_1FULL.sbf
SBF FLASH 1.08 (mbm)

=== GOT_DACH_GERMANY_2_2_1FULL.sbf ===
00: RDL03 0x82000000-0x8204CFFF 2FC7 AP
01:  CG31 0xB01C0000-0xB01C47FF 24FE AP
02:  CG33 0xD13FB000-0xD1BB783F E479 AP
03:  CG34 0xB03A0000-0xB03A47FF CC19 AP
04:  CG35 0xB07A0000-0xB0A607FF 888E AP
05:  CG36 0xF0B7D000-0xF0BE083F 6799 AP
06:  CG37 0xE4034000-0xE40379BF 9325 AP
07:  CG39 0xD1D64000-0xDADE583F 6DA8 AP
08:  CG40 0xDD2E4000-0xDD2E483F FDFF AP
09:  CG42 0xB06A0000-0xB06DFFFF 73E3 AP
10:  CG45 0xB0B20000-0xB0E207FF 79ED AP
11:  CG47 0xB0EE0000-0xB12A07FF 679E AP
12:  CG53 0xCFD80000-0xCFD807FF FDFF AP
13:  CG61 0xB0640000-0xB06607FF 6C74 AP

Milestone found.
 >> uploading RDL03
Uploading: 100% OK
 >> verifying ramloader
 -- OK
 >> executing ramloader
Milestone found.
 >> sending erase
 >> uploading CG31
Uploading: 100% OK
 >> uploading CG33
Uploading: 100% OK
 >> uploading CG34
Uploading: 100% OK
 >> uploading CG35
Uploading: 100% OK
 >> uploading CG36
Uploading: 100% OK
 >> uploading CG37
Uploading: 100% OK
 >> uploading CG39
Uploading: 100% OK
 >> uploading CG40
Uploading: 100% OK
 >> uploading CG42
Uploading: 100% OK
 >> uploading CG45
Uploading: 100% OK
 >> uploading CG47
Uploading: 100% OK
 >> uploading CG53
Uploading: 100% OK
 >> uploading CG61
Uploading: 100% OK
 >> verifying CG31
 -- OK
 >> verifying CG33
 -- OK
 >> verifying CG34
 -- OK
 >> verifying CG35
 -- OK
 >> verifying CG36
 -- OK
 >> verifying CG37
 -- OK
 >> verifying CG39
 -- OK
 >> verifying CG40
 -- OK
 >> verifying CG42
 -- OK
 >> verifying CG45
 -- OK
 >> verifying CG47
 -- OK
 >> verifying CG53
 -- OK
 >> verifying CG61
 -- OK
 >> rebooting
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/milestone-flashen-unter-linux-mit-sbf_flash/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wie sieht eine Schufa-Auskunft aus?</title>
		<link>http://www.daniel-ritter.de/blog/wie-sieht-eine-schufa-auskunft-aus</link>
		<comments>http://www.daniel-ritter.de/blog/wie-sieht-eine-schufa-auskunft-aus#comments</comments>
		<pubDate>Mon, 25 Oct 2010 14:03:52 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Schufa Selbstauskunft]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=698</guid>
		<description><![CDATA[Für einen neuen Mietvertrag verlangte mein neuer Vermieter eine Schufa-Auskunft von mir. Eine Schufa-Selbstauskunft bekommt man von der Schufa (https://www.meineschufa.de/index.php) kostenfrei per Post oder für 5 EUR online. Ich habe die Postvariante gewählt, die zunächst mit einigen Hindernissen verbunden war. Ca. 2 Wochen nach Antragsstellung bekam ich einen Brief von der Schufa. Ich wurde aufgefordert [...]]]></description>
			<content:encoded><![CDATA[<p>Für einen neuen Mietvertrag verlangte mein neuer Vermieter eine Schufa-Auskunft von mir. Eine Schufa-Selbstauskunft bekommt man von der Schufa (<a href="https://www.meineschufa.de/index.php">https://www.meineschufa.de/index.php</a>) kostenfrei per Post oder für 5 EUR online. Ich habe die Postvariante gewählt, die zunächst mit einigen Hindernissen verbunden war. Ca. 2 Wochen nach Antragsstellung bekam ich einen Brief von der Schufa. Ich wurde aufgefordert meine alten Adressen mitzuteilen, da die Daten meiner Person nicht eindeutig zugeordnet werden könnten. Eigentlich fand ich es ganz angenehm, dass die Schufa wohl nicht so sonderlich viel über mich wusste, aber da ich die Auskunft benötigte habe ich die verlangten Daten per E-Mail nachgereicht. Einige Tage später erhielt ich dann meine Schufaauskunft, die sehr viel weniger Daten enthielt als ich gedacht hätte. Im Endeffekt waren es nur meine (von mir mitgeteilten) ehemaligen Adressen, meine 2 Girokonten und eine Seite mit meinen Scores für die verschiedensten Bereiche des Geldlebens. Wie diese Scores zustande kommen erfährt man natürlich nicht.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/schufa.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/schufa.jpg" alt="" title="schufa" width="710" height="6887" class="aligncenter size-full wp-image-702" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/wie-sieht-eine-schufa-auskunft-aus/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nur noch 4 Tage Zeit: Personalausweis ohne RFID bestellen.</title>
		<link>http://www.daniel-ritter.de/blog/nur-noch-4-tage-zeit-personalausweis-ohne-rfid-bestellen</link>
		<comments>http://www.daniel-ritter.de/blog/nur-noch-4-tage-zeit-personalausweis-ohne-rfid-bestellen#comments</comments>
		<pubDate>Mon, 25 Oct 2010 13:12:40 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[perso personalausweis RFID]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=694</guid>
		<description><![CDATA[Ein "alter" Personalausweis ohne RFID Funk-Chip kann nur noch bis einschließlich Freitag beim lokalen Einwohnermeldeamt beantragt werden. Ab dem 1.11. gibt es nur noch den neuen (aus 10 cm Entfernung auslesbaren) Ausweis fürs Personal. Der alte Ausweis ist 10 Jahre gültig und kostet 13 Euro, falls der aktuelle noch länger als 6 Monate gültig ist. [...]]]></description>
			<content:encoded><![CDATA[<p>Ein "alter" Personalausweis ohne RFID Funk-Chip kann nur noch bis einschließlich Freitag beim lokalen Einwohnermeldeamt beantragt werden. Ab dem 1.11. gibt es nur noch den neuen (aus 10 cm Entfernung auslesbaren) Ausweis fürs Personal. Der alte Ausweis ist 10 Jahre gültig und kostet 13 Euro, falls der aktuelle noch länger als 6 Monate gültig ist. Falls der aktuelle Ausweis nur noch weniger als 6 Monate gültig ist, zahlt man 8 Euro. Auch bei Umzügen bleibt der "neue alte" gültig. Die Adresse wird wie gewohnt mit einem gestempelten Aufkleber überklebt.  </p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/perso.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/perso.jpg" alt="" title="perso" width="600" height="829" class="aligncenter size-full wp-image-695" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/nur-noch-4-tage-zeit-personalausweis-ohne-rfid-bestellen/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>100 Gründe warum ich Linux mag</title>
		<link>http://www.daniel-ritter.de/blog/100-grunde-warum-ich-linux-mag</link>
		<comments>http://www.daniel-ritter.de/blog/100-grunde-warum-ich-linux-mag#comments</comments>
		<pubDate>Thu, 21 Oct 2010 00:50:46 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=688</guid>
		<description><![CDATA[1. Keine Viren 2. Keine andauernden Infobubbles und Popups 3. zentrales Softwaremanagement 4. zentrale vollautomatische Updates 5. frei 6. Compiz ist so cool 7. SSH ist perfekt für fast alles 8. gute Performance 10. wird nicht langsamer mit der Zeit 11. alles ist automatisierbar 12. keine nervigen Installer die Browsertoolbars installieren 13. BASH ist praktisch [...]]]></description>
			<content:encoded><![CDATA[<p>1.  Keine Viren<br />
2.  Keine andauernden Infobubbles und Popups<br />
3.  zentrales Softwaremanagement<br />
4.  zentrale vollautomatische Updates<br />
5.  frei<br />
6.  Compiz ist so cool<br />
7.  SSH ist perfekt für fast alles<br />
8.  gute Performance<br />
10. wird nicht langsamer mit der Zeit<br />
11. alles ist automatisierbar<br />
12. keine nervigen Installer die Browsertoolbars installieren<br />
13. BASH ist praktisch<br />
14. Asterisk!<br />
15. Radiotray<br />
16. stabil stabil stabil<br />
17. einfache komplette Systemverschlüsselung<br />
18. eigener Mailserver<br />
19. gutes RAID-Monitoring<br />
20. super Entwicklungstools<br />
21. sehr gute Software fast immer kostenlos<br />
22. yakuake<br />
23. screen<br />
24. rtorrent<br />
25. echtes Plug and Play für Drucker<br />
26. CTRl-ALT-F1<br />
27. mehrere Desktops<br />
28. guter Spirit<br />
29. wenig Abzocke<br />
30. kein Defragmentieren<br />
31. schnell<br />
32. sehr grosse Community<br />
33. portables Homeverzeichnis<br />
34. vollautomatische Softwareinstallation<br />
35. Live-CD's<br />
36. beste Netzwerktools<br />
37. standardkonform<br />
38. Geeks<br />
39. Tunnel<br />
40. FUSE<br />
41. Konversation<br />
42. Twinkle<br />
43. LAMP<br />
44. alt und reif<br />
45. prima Releasezyklen<br />
46. gute Unterstützung für mehrere Monitore<br />
47. große Anzahl von Treibern im Kernel<br />
48. wenig Augenwischerei<br />
49. macht einen nicht zum Idioten<br />
50. booten übers Netzwerk<br />
51. Installation übers Netzwerk<br />
52. spamassassin<br />
53. dnsmasq<br />
54. CTRL-ALT-Drucken-K<br />
55. reboot now<br />
56. nmap<br />
57. wireshark<br />
58. viel Klickibunti oder auch gar kein Klickibunti<br />
59. Nautilus Elementary<br />
60. zsnes<br />
61. ein gutes Glas wine zum zocken<br />
62. hübsche Designs<br />
63. OpenOffice<br />
64. SimpleScan<br />
65. KRename<br />
66. einfache Backups<br />
67. ffmpeg<br />
68. Arista Transcoder<br />
69. shutdown -h now<br />
70. sudo<br />
71. root<br />
72. /etc<br />
73. Flash wird langsam besser<br />
74. ubuntuusers.de<br />
75. mySQL<br />
76. WordPress<br />
77. gparted<br />
78. rsnapshot<br />
79. partimage<br />
80. unabhängigkeit von einer Firma<br />
81. wenig Kommerz -> mehr Experimente<br />
82. ext4<br />
83. loyal<br />
84. die Welt funktioniert damit<br />
85. Virtualisierung<br />
86. keine Registry<br />
87. logisch<br />
88. geht auch bei DAU's nicht kaputt<br />
89. Tux<br />
90. 0 Euro<br />
91. läuft auf langsamer Hardware schnell<br />
92. läuft auf schnellerer Hardware schneller<br />
93. keine andauernden Nachfragen<br />
94. sinnvolle Fehlermeldungen (meistens)<br />
95. nutzbare Logfiles<br />
96. tail -f<br />
97. bootet schnell<br />
98. fährt schnell runter<br />
99. bringt mir viel über Computer bei<br />
100. läuft solange, bis die Hardware kaputt geht</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/100-grunde-warum-ich-linux-mag/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Endlich eine neue Kiste!</title>
		<link>http://www.daniel-ritter.de/blog/endlich-eine-neue-kiste</link>
		<comments>http://www.daniel-ritter.de/blog/endlich-eine-neue-kiste#comments</comments>
		<pubDate>Fri, 01 Oct 2010 00:43:57 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=677</guid>
		<description><![CDATA[Nach fast sieben Jahren mit meinem guten alten Asus M6n (1,6Ghz Single Core und ATI-Grafik). Habe ich das Erscheinen von Starcraft 2 zum Anlass genommen mir endlich mal wieder eine neue Kiste zu gönnen. Da ich kaum noch mit dem PC gespielt habe, war eigentlich keine schnellere Hardware nötig, aber der Unterschied, auch auf dem [...]]]></description>
			<content:encoded><![CDATA[<p>Nach fast sieben Jahren mit meinem guten alten Asus M6n (1,6Ghz Single Core und ATI-Grafik). Habe ich das Erscheinen von Starcraft 2 zum Anlass genommen mir endlich mal wieder eine neue Kiste zu gönnen. Da ich kaum noch mit dem PC gespielt habe, war eigentlich keine schnellere Hardware nötig, aber der Unterschied, auch auf dem Desktop ist schon ziemlich geil. Meine Zusammenstellung funktioniert zu 100% unter Ubuntu, lediglich die Grafikkarte funktioniert nicht mit dem Nouveau-Treiber, auf den ich aber Dank des proprietären NVidia-Treibers ohne Probleme verzichten kann. Nice.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/neuer_compi.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/neuer_compi.jpg" alt="" title="neuer_compi" width="800" height="1105" class="aligncenter size-full wp-image-678" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/endlich-eine-neue-kiste/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Starcraft 2 unter Ubuntu und Wine. Das (fast) perfekte Setup</title>
		<link>http://www.daniel-ritter.de/blog/starcraft-2-unter-ubuntu-und-wine-das-fast-perfekte-setup</link>
		<comments>http://www.daniel-ritter.de/blog/starcraft-2-unter-ubuntu-und-wine-das-fast-perfekte-setup#comments</comments>
		<pubDate>Fri, 01 Oct 2010 00:22:25 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=671</guid>
		<description><![CDATA[Starcraft II läuft erstaunlich gut unter Lucid mit wine. Allerdings gibt es einige Problemchen, die aus der Welt zu schaffen sind. Danach ist der Spielspass, zumindest mit einer relativ aktuellen NVidia-Grafikkarte fast perfekt. Meine Versuche mit einer ATI-Karte das Ganze hinzubekommen sind leider gescheitert. Die Installation Starcraft II zu installieren ist sehr einfach. Um es [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/SC22.jpg"><img class="aligncenter size-full wp-image-666" title="SC22" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/SC22.jpg" alt="" width="400" height="249" /></a></p>
<p>Starcraft II läuft erstaunlich gut unter Lucid mit wine. Allerdings gibt es einige Problemchen, die aus der Welt zu schaffen sind. Danach ist der Spielspass, zumindest mit einer relativ aktuellen NVidia-Grafikkarte fast perfekt. Meine Versuche mit einer ATI-Karte das Ganze hinzubekommen sind leider gescheitert.</p>
<p><strong>Die Installation</strong></p>
<p>Starcraft II zu installieren ist sehr einfach. Um es direkt von der DVD zu installieren, muss man etwas tricksen, einfacher ist es, sich über seinen Battle.net-Account die digitale Downloadversion zu besorgen. Diese lässt sich mit Wine starten, patcht sich auch brav hoch bis zur aktuellen Version und lässt den aktuellen Gameclient auf der Platte zurück.</p>
<p><strong>Die Grafik</strong></p>
<p>Um zu zocken benötigt man den proprietären NVidia-Treiber. Die Version die bei Lucid dabei ist, ist leider etwas angestaubt. Mit der aktuellen Version erhält man eine viel bessere Performance. Zum Glück gibt es <a href="https://launchpad.net/~ubuntu-x-swat/+archive/x-updates">ein PPA, das immer die aktuelle Version des Treibers nachliefert</a> und automatisch installiert.</p>
<pre>sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get upgrade</pre>
<p>Nun hat man die aktuellen NVidia-Treiber.</p>
<p>Um die Grafik-Performance weiter zu verbessern, erstellt man in der "Windows"-Registry einige Keys.</p>
<pre>wine regedit
HKEY_CURRENT_USER/Software/Wine/Direct3D erstellen.

Danach unterhalb von "Direct3d" folgende String-Werte eintragen:

DirectDrawRenderer
opengl

Multisampling
disabled

OffScreenRenderingMode
pbuffer

UseGLSL
disabled

VertexShaderMode
hardware

VideoMemorySize
1024 (RAM der Grafikkarte)
</pre>
<p><strong>Der Sound</strong></p>
<p>ALSA, das Soundsystem unter Wine verträgt sich leider nicht besonders gut mit Pulseaudio. Der Sound funktioniert zwar, aber man kann keine MP3s oder andere Sounds unter Ubuntu laufen lassen, während man spielt. Ein Fork von Wine mit direktem Pulseaudio-Support behebt aber dieses Problem, so dass der Sound unter Starcraft sich mit allen anderen Sounds des Systems verträgt. Diese spezielle wine-Version hat wieder <a href="https://launchpad.net/~c-korn/+archive/ppa">ein eigenes PPA</a>:</p>
<pre>sudo add-apt-repository ppa:c-korn/ppa
sudo apt-get update
sudo apt-get upgrade
</pre>
<p>Nun hat man die Wine-Version mit Pulseaudio-Support und sollte in der Wine-Konfiguration unter "Audio" Pulse-Audio auswählen. Zusätzlich stellt man Anwendungen/Windows-Version auf "Windows7" und fügt unter "Bibliotheken" eine neue Überschreibung für "mmdevapi" hinzu und stellt diese auf "Ausschalten"</p>
<p><strong>In-Game scrollen mit Compiz-Würfel</strong></p>
<p>In-Game kann es bei bestimmten Compiz-Konfigurationen, bei mir beim Desktop-Würfel zu Problemen mit dem scrollen kommen. Die Maus springt an den Kanten des Desktops weg. Um das zu beheben, öffnet man den Compizconfig Settings-Manager und navigiert zu "Würfel drehen -&gt; Bindings -&gt; Würfel rotieren". Hier stellt man die Werte für Drehen (nach links/rechts kippen) auf "Nichts".</p>
<p>Jetzt läuft Starcraft II Fullscreen mit funktionierendem Sound und netter Grafik. Leider einen Tick langsamer als unter Windows aber mit moderateren Grafikeinstellungen bekommt man ein sehr gutes Spielerlebnis.</p>
<p>Viel Spass!</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/sc2_screen.jpg"><img class="aligncenter size-full wp-image-674" title="sc2_screen" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/10/sc2_screen.jpg" alt="" width="400" height="298" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/starcraft-2-unter-ubuntu-und-wine-das-fast-perfekte-setup/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unlukrativer Royal Flush</title>
		<link>http://www.daniel-ritter.de/blog/unlukrativer-royal-flush</link>
		<comments>http://www.daniel-ritter.de/blog/unlukrativer-royal-flush#comments</comments>
		<pubDate>Tue, 27 Jul 2010 01:22:56 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=648</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/royalflush.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/royalflush.jpg" alt="" title="royalflush" width="786" height="563" class="aligncenter size-full wp-image-650" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/unlukrativer-royal-flush/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter is over capacity</title>
		<link>http://www.daniel-ritter.de/blog/twitter-is-over-capacity</link>
		<comments>http://www.daniel-ritter.de/blog/twitter-is-over-capacity#comments</comments>
		<pubDate>Tue, 27 Jul 2010 01:19:55 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=644</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/Bildschirmfoto-2.png"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/Bildschirmfoto-2.png" alt="" title="Twitter is over capacity" width="1024" height="768" class="aligncenter size-full wp-image-645" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/twitter-is-over-capacity/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motorola Milestone &#8211; Ein Support-Horrortrip</title>
		<link>http://www.daniel-ritter.de/blog/motorola-milestone-ein-support-horrortrip</link>
		<comments>http://www.daniel-ritter.de/blog/motorola-milestone-ein-support-horrortrip#comments</comments>
		<pubDate>Fri, 09 Jul 2010 12:45:05 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[dat repair]]></category>
		<category><![CDATA[datrepair]]></category>
		<category><![CDATA[gesprächsqualität]]></category>
		<category><![CDATA[kopfhörerbuchse]]></category>
		<category><![CDATA[milestone]]></category>
		<category><![CDATA[motorola]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=605</guid>
		<description><![CDATA[Vorgeschichte: Ich habe mein Meilestone nun seit ca. einem halben Jahr und es war bisher eine Haßliebe. Die Freude an den wirklich unglaublich guten Internetfunktionen wurde mir leider durch üble Verarbeitungsfehler vermiest. Mein Gerät hat zwei schwere Probleme. Zum einen hat die Kopfhörer-Buchse einen Wackelkontakt, so dass man in Bewegung keine Musik hören kann. Es [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/800px-Motorola_Milestone.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/800px-Motorola_Milestone-300x185.jpg" alt="" title="800px-Motorola_Milestone" width="300" height="185" class="alignright size-medium wp-image-614" /></a></p>
<p><strong>Vorgeschichte:</strong></p>
<p>Ich habe mein Meilestone nun seit ca. einem halben Jahr und es war bisher eine Haßliebe. Die Freude an den wirklich unglaublich guten Internetfunktionen wurde mir leider durch üble Verarbeitungsfehler vermiest.</p>
<p>Mein Gerät hat zwei schwere Probleme. Zum einen hat die Kopfhörer-Buchse einen Wackelkontakt, so dass man in Bewegung keine Musik hören kann. Es knackst andauernd oder einer der Kanäle verschwindet. Dies scheint ein Produktionsfehler bei den Geräten zu sein den leider sehr viele Käufer beklagen. <a href="http://www.android-hilfe.de/motorola-milestone/13227-wackelkontakt-kopfhoereranschluss.html">http://www.android-hilfe.de/motorola-milestone/13227-wackelkontakt-kopfhoereranschluss.html</a> (19 Seiten Thread)</p>
<p>Der erste Fehler war schon nervig, der zweite machte mein Gerät allerdings über die Zeit hinweg unbenutzbar. Mein Gerät leidet auch an sehr schlechter Sprachqualität. Meine Gespärchspartner fragen bis zu 2x in der Minute ob ich das zuletzt gesagte nicht wiederholen könne. Die Qualität entspricht ungefähr einem 70er-Jahre Wählscheibentelefon über eine Satelitenverbindung. Auch dieser Fehler ist bekannt und sehr viele Leute haben ihn mit ihren Geräten.<a href=" http://www.android-hilfe.de/motorola-milestone/11655-motorola-milestone-gespraechsqualitaet-miserabel.html"> http://www.android-hilfe.de/motorola-milestone/11655-motorola-milestone-gespraechsqualitaet-miserabel.html</a> (81! Seiten Thread) Motorola schweigt dieses Problem leider tot und behauptet es würde nicht existieren. Die Community hat inzwischen herausgefunden woran es liegt. Das zweite Mikrofon zum erkennen und herausfiltern von Hintergrundgeräuschen oder dessen Steuersoftware/chip hat bei vielen Geräten einen Fehler und filtert die Stimme des Sprechenden gleich mit heraus. Eine echte QA-Katastrophe für ein Gerät dieser Preisklasse.</p>
<p>Nach dem Update auf Android 2.1 wurde es so schlimm, dass ich nun nur noch über ein zweites Handy telefoniert habe. Das Milestone wurde für seine "Hauptfunktion" unbenutzbar.</p>
<p>Deshalb habe ich mich dazu entschlossen es in Reperatur zu schicken, obwohl ich mir auch da nicht viele Hoffnungen machte. In den oben genannten Threads haben einige Leute das Gerät 5x! weggeschickt, ohne Besserung.</p>
<p>Nach Rücksprache mit meinem Händler ging mein Stein dann also auf die Reise zu <a href="http://www.datrepair.de">http://www.datrepair.de</a> , einer der beiden deutschen Vertragswerkstätten von Motorola. Zumindest ihr <a href="http://www.datrepair.de/dat-infos/imagefilm.html">Imagefilm</a> sah vielversprechend aus <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>1.7.2010</strong><br />
Gerät per DHL eingeschickt. Ich wurde gebeten das Gerät mit einer ausführlichen Fehlerbeschreibung einzusenden:</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/Gescanntes-Dokument2.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/Gescanntes-Dokument2.jpg" alt="" title="Gescanntes Dokument2" width="650" height="898" class="aligncenter size-full wp-image-622" /></a></p>
<p><strong>2.7.2010</strong><br />
Gerät ist bei dat repair angekommen. Das Reperaturtracking von dat repair hat mir gut gefallen, leider konnte das Reperaturergebnis nicht ganz mithalten.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/datrepair.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/datrepair.jpg" alt="" title="datrepair" width="604" height="739" class="aligncenter size-full wp-image-619" /></a></p>
<p><strong>8.7.2010</strong><br />
Das Gerät ist wieder "repariert" in meinen Händen.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/aaaa-1.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/aaaa-1.jpg" alt="" title="aaaa-1" width="650" height="898" class="aligncenter size-full wp-image-623" /></a></p>
<p>Ich freute mich natürlich zunächst sehr,  dann aber leider auch nur noch sehr kurz. Das Gerät lässt sich nicht mehr einschalten, da der Akku nicht mehr auflädt. Die Ladeanzeige bleibt stundenlang auf 5% stehen. Das ist zu wenig Saft um das Gerät hochzufahren. Ich vermute, dass mir entweder ein defekter Akku statt meines funktionierenden zurückgeschickt wurde (habe mir leider die Seriennummer des Akkus nicht aufgeschrieben), dass mein Akku beschädigt wurde oder dass bei der Reperatur die Ladeelektronik meines Steins beschädigt wurde. <strong>Sehr ärgerlich.</strong></p>
<p><strong>9.7.2010</strong><br />
Nach einer ganzen Nacht des Ladens hat der Akku leider nach wie vor nur stolze 5% auf der Brust. Ich rufe bei dat repair an und schildere mein Problem. "Das Gerät hat nach Test einwandfrei unser Haus verlassen, bitte schicken Sie es erneut ein". Man glaubte mir nicht so richtig oder wollte mich abwimmeln. Die Dame am Telefon bat mich das Ladegerät mit einzuschicken. Ich hatte auch schon daran gedacht, dass mein Ladegerät vielleicht kaputt gegangen sein könnte. Das halte ich allerdings für sehr unwahrscheinlich, da ich 2 Ladegeräte und eine Ladeschale besitze, die das Handy alle nicht mehr laden konnten. </p>
<p>Bevor ich mein Handy erneut auf die Reise schicken wollte, habe ich versucht einen Ersatzakku zu bekommen um zu testen ob es evtl nur am Akku liegt. Ein Anruf beim Mediamarkt offenbarte mir, dass dort verschiedene Akkus fürs Milestone von verschiedenen Herstellern vorrätig seien. Im Mediamarkt gab es dann leider doch nicht einen einzigen. Auch alle kleinen Telefonläden der Stadt hatten keinen auf Lager. Weder Vodafone, O2, noch The Phonehouse, etc. Ich werde das Handy also wohl ohne diesen Test zurücksenden müssen.</p>
<p><strong>9.7.2010 (später)</strong></p>
<p>Mein Milestone ist wieder auf der Reise nach Flensburg. Samt Akku und meinen 2 Ladegeräten.</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/bbbbb.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/bbbbb.jpg" alt="" title="bbbbb" width="650" height="898" class="aligncenter size-full wp-image-625" /></a></p>
<p><strong>12.7.2010</strong><br />
DHL lässt sich Zeit. Die Sendungsverfolgung sagt:</p>
<p>12.07.10 17:44 Uhr<br />
Hagen<br />
Die Sendung wurde im Start-Paketzentrum bearbeitet. </p>
<p><strong>13.7.2010</strong></p>
<p>Mein Stein hat dat repair wieder erreicht.</p>
<p><strong>14.7.2010</strong><br />
Ich habe bei dat repair angerufen und erneut um schnellere Bearbeitung gebeten, da der Fehler von dat repair versursacht wurde. Mir wurde gesagt, dass ich heute schon der 10. wäre der sich nicht gedulden könne. OK.</p>
<p><strong>19.7.2010</strong><br />
Mein Stein wurde mal wieder repariert und ist unterwegs zu mir. Ich mache mir nicht mehr viele Hoffnungen. Vielleicht kann man ihn ja wenigstens wieder einschalten....</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/datrepair2.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/datrepair2.jpg" alt="" title="datrepair2" width="569" height="590" class="aligncenter size-full wp-image-634" /></a></p>
<p><strong>19.7.2010 (später)</strong><br />
Ich habe nochmal bei dat repair angerufen um herauszufinden ob und wie der Gesprächsqualitätsfehler behoben wurde. Der Herr am Telefon hat mir mitgeteilt, dass der Fehler inzwischen reparierbar wäre und der Bug gefunden wurde. Ich bin gespannt und weiss morgen mehr.</p>
<p>Er sagte mir gewechselt worden seien "Antenna Cap" und "Camera Lens irgendwas". Außerdem würde ich einen neuen Akku bekommen.</p>
<p>Ich bin gespannt.... </p>
<p><strong>20.7.2010</strong></p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/datrepair3.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/07/datrepair3.jpg" alt="" title="datrepair3" width="800" height="1105" class="aligncenter size-full wp-image-640" /></a></p>
<p>Mein Milestone ist wieder da und es geht sogar an <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Mir wurde ein neuer Akku geschickt. Ich vermute, dass sie mir beim letzten Mal einen defekten zugesandt hatten. Leider kam nach dem ersten Einschalten bereits wieder die erste Ernüchterung. Beim Anmelden mit meinem Google-Konto kommt die Meldung "Es kann keine stabile Datenverbindung zum Server hergestellt werden". Das Problem ist hier beschriben:<a href=" http://www.android-hilfe.de/t-mobile-pulse-forum/15879-keine-stabile-datenverbindung-zu-server.html"> http://www.android-hilfe.de/t-mobile-pulse-forum/15879-keine-stabile-datenverbindung-zu-server.html</a> Ich versuche das Zurücksetzen auf Werkseinstellungen.</p>
<p><strong>27.7.2010</strong><br />
Nach dem Wipen vom Stein funktionierte wieder alles. Ziemlich Zeitgleich mit meinem Stein kam auch ein Softwareupdate auf Firmware 2.1.36 das bei sehr vielen Leuten die Probleme mit der SPrachqualität beseitigt hat. Mein Stein funktioniert jetzt aber ich weiss nicht ob es an dem Update oder der Reperatur lag. Ich zweifele da etwas. Zumal mein erstes Problem, die lockere Kopfhörerbuchse nur halbherzig beseitigt wurde. Sie sitzt jetzt fester, hat aber nach wie vor einen Wackelkontakt.</p>
<p><strong>Fazit</strong><br />
15 Euro Porto, 3 Wochen ohne Handy, Reperaturen die nicht wirklich repariert haben. Zwangsverlängerung der Reperatur durch einen falschen Akku..... Ich hätte mir den Spuk sparen können glaube ich. Auf jeden Fall werde ich in Zukunft Motorola und dat repair meiden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/motorola-milestone-ein-support-horrortrip/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>LPIC 1 :)</title>
		<link>http://www.daniel-ritter.de/blog/lpic-1</link>
		<comments>http://www.daniel-ritter.de/blog/lpic-1#comments</comments>
		<pubDate>Wed, 23 Jun 2010 19:01:17 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[lpic prüfung]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=599</guid>
		<description><![CDATA[Ich hatte mich kurz vor dem LinuxTAG entschlossen dort zum vergünstigten Messepreis meine noch fehlende Prüfung für LPIC-1 abzulegen. Die Vorbereitung war recht mau, was sich auch in meiner Rateorgie zu Themen wie Keyboardlayout, Codepages und Fonts auf dem X-Server wiedergespiegelt hat. Ich war nicht sicher ob ich durchkommen würde, deshalb habe ich mich um [...]]]></description>
			<content:encoded><![CDATA[<p>Ich hatte mich kurz vor dem LinuxTAG entschlossen dort zum vergünstigten Messepreis meine noch fehlende Prüfung für LPIC-1 abzulegen. Die Vorbereitung war recht mau, was sich auch in meiner Rateorgie zu Themen wie Keyboardlayout, Codepages und Fonts auf dem X-Server wiedergespiegelt hat. Ich war nicht sicher ob ich durchkommen würde, deshalb habe ich mich um so mehr über diese eben erhaltene E-Mail gefreut:</p>
<p>Linux Professional Institute<br />
Score Report for Exam 102</p>
<p>Daniel Ritter</p>
<p>---------------------------------------------------------------------------<br />
Candidate ID: LPI0001******<br />
Registration ID: **********<br />
Score Report Date: Jun 22 2010</p>
<p>Your Score: 620<br />
Required Passing Score: 500<br />
Status: Pass</p>
<p>Test Section Information<br />
Percent Correct Section</p>
<p> 80%            Shells, Scripting and Data Management</p>
<p> 40%            User Interfaces and Desktops</p>
<p> 50%            Administrative Tasks</p>
<p> 90%            Essential System Services</p>
<p> 85%            Networking Fundamentals</p>
<p> 66%            Security</p>
<p>---------------------------------------------------------------------------</p>
<p>Thank you for taking LPI's certification exam.</p>
<p>Scores on the exam are scaled so that the range is from 200 to 800.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/lpic-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LinuxTag 2010 Berlin</title>
		<link>http://www.daniel-ritter.de/blog/linuxtag-2010-berlin</link>
		<comments>http://www.daniel-ritter.de/blog/linuxtag-2010-berlin#comments</comments>
		<pubDate>Sun, 13 Jun 2010 12:22:12 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[linuxtag]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=594</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
<div class="ngg-galleryoverview" id="ngg-gallery-7-594">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/linuxtag-2010-berlin?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=7&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-76" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/2.jpg" title=" " class="shutterset_set_7" >
								<img title="2" alt="2" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_2.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-83" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/3.jpg" title=" " class="shutterset_set_7" >
								<img title="3" alt="3" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_3.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-68" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/11.jpg" title=" " class="shutterset_set_7" >
								<img title="11" alt="11" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_11.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-67" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/10.jpg" title=" " class="shutterset_set_7" >
								<img title="10" alt="10" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_10.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-69" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/12.jpg" title=" " class="shutterset_set_7" >
								<img title="12" alt="12" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_12.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-70" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/13.jpg" title=" " class="shutterset_set_7" >
								<img title="13" alt="13" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_13.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-71" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/14.jpg" title=" " class="shutterset_set_7" >
								<img title="14" alt="14" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_14.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-72" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/16.jpg" title=" " class="shutterset_set_7" >
								<img title="16" alt="16" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_16.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-73" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/17.jpg" title=" " class="shutterset_set_7" >
								<img title="17" alt="17" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_17.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-74" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/18.jpg" title=" " class="shutterset_set_7" >
								<img title="18" alt="18" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_18.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-75" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/19.jpg" title=" " class="shutterset_set_7" >
								<img title="19" alt="19" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_19.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-77" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/20.jpg" title=" " class="shutterset_set_7" >
								<img title="20" alt="20" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_20.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-78" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/21.jpg" title=" " class="shutterset_set_7" >
								<img title="21" alt="21" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_21.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-79" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/22.jpg" title=" " class="shutterset_set_7" >
								<img title="22" alt="22" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_22.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-80" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/25.jpg" title=" " class="shutterset_set_7" >
								<img title="25" alt="25" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_25.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-81" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/26.jpg" title=" " class="shutterset_set_7" >
								<img title="26" alt="26" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_26.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-82" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/28.jpg" title=" " class="shutterset_set_7" >
								<img title="28" alt="28" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_28.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-84" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/30.jpg" title=" " class="shutterset_set_7" >
								<img title="30" alt="30" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_30.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-85" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/31.jpg" title=" " class="shutterset_set_7" >
								<img title="31" alt="31" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_31.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-86" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/33.jpg" title=" " class="shutterset_set_7" >
								<img title="33" alt="33" src="http://www.daniel-ritter.de/blog/wp-content/gallery/linuxtag2010/thumbs/thumbs_33.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-navigation'><span class="current">1</span><a class="page-numbers" href="http://www.daniel-ritter.de/blog/linuxtag-2010-berlin?nggpage=2">2</a><a class="next" id="ngg-next-2" href="http://www.daniel-ritter.de/blog/linuxtag-2010-berlin?nggpage=2">&#9658;</a></div> 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/linuxtag-2010-berlin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux auf der PS3 &#8211; Ich habe aufgegeben :(</title>
		<link>http://www.daniel-ritter.de/blog/linux-auf-der-ps3-ich-habe-aufgegeben</link>
		<comments>http://www.daniel-ritter.de/blog/linux-auf-der-ps3-ich-habe-aufgegeben#comments</comments>
		<pubDate>Sat, 22 May 2010 14:24:40 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[ps3]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=590</guid>
		<description><![CDATA[Nach fast einem Monat Warterei auf eine Lösung habe ich die "Anti-Linux"-Firmware installiert. Ich wollte wieder online zocken. Trotzdem kotzt es mich an.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/05/1274291139123.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/05/1274291139123.jpg" alt="" title="1274291139123" width="800" height="600" class="aligncenter size-full wp-image-591" /></a></p>
<p>Nach fast einem Monat Warterei auf eine Lösung habe ich die "Anti-Linux"-Firmware installiert. Ich wollte wieder online zocken. Trotzdem kotzt es mich an.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/linux-auf-der-ps3-ich-habe-aufgegeben/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eine Reise in die Vergangenheit</title>
		<link>http://www.daniel-ritter.de/blog/eine-reise-in-die-vergangenheit</link>
		<comments>http://www.daniel-ritter.de/blog/eine-reise-in-die-vergangenheit#comments</comments>
		<pubDate>Fri, 14 May 2010 17:56:03 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[recklinghausen]]></category>
		<category><![CDATA[wirtschaftskrise]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=583</guid>
		<description><![CDATA[Ich habe heute meine alte Heimatstadt Recklinghausen - mitten im Ruhrpott - besucht. Ich bin nur alle paar Jahre mal da und schaue mich um. Es sah ziemlich übel aus. Neue Spielhallen an jeder Ecke, überall leerstehnde Geschäfte in bester Lage. Selbst die amerikanische Frittierküche mitten auf dem Marktplatz, eine feste Institution in der Stadt, [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe heute meine alte Heimatstadt Recklinghausen - mitten im Ruhrpott - besucht. Ich bin nur alle paar Jahre mal da und schaue mich um. Es sah ziemlich übel aus. Neue Spielhallen an jeder Ecke, überall leerstehnde Geschäfte in bester Lage. Selbst die amerikanische Frittierküche mitten auf dem Marktplatz, eine feste Institution in der Stadt, hat es wohl nicht geschafft.<a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/05/mcd.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/05/mcd.jpg" alt="" title="mcd" width="800" height="598" class="aligncenter size-full wp-image-587" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/eine-reise-in-die-vergangenheit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntu mit einem Klick ausschalten oder neu starten</title>
		<link>http://www.daniel-ritter.de/blog/ubuntu-mit-einem-klick-ausschalten</link>
		<comments>http://www.daniel-ritter.de/blog/ubuntu-mit-einem-klick-ausschalten#comments</comments>
		<pubDate>Wed, 12 May 2010 12:20:02 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[herunterfahren]]></category>
		<category><![CDATA[neustarten]]></category>
		<category><![CDATA[poweroff]]></category>
		<category><![CDATA[reboot]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=578</guid>
		<description><![CDATA[Mich nervt die ganze Nachfragerei beim Ausschalten des Rechners. Um Ubuntu mit einem Klick ausschalten zu können, muss man einem normalen Benutzer erlauben, den Befehl "poweroff" zu benutzen: #/etc/sudoers . . username ALL=NOPASSWD: /sbin/reboot username ALL=NOPASSWD: /sbin/poweroff Wichtig ist, dass die Zeilen hinten an die Datei angehängt werden. Nun kann man sich im Panel oder [...]]]></description>
			<content:encoded><![CDATA[<p>Mich nervt die ganze Nachfragerei beim Ausschalten des Rechners. Um Ubuntu mit einem Klick ausschalten zu können, muss man einem normalen Benutzer erlauben, den Befehl "poweroff" zu benutzen:</p>
<pre>
#/etc/sudoers
.
.
username      ALL=NOPASSWD:   /sbin/reboot
username      ALL=NOPASSWD:   /sbin/poweroff
</pre>
<p>Wichtig ist, dass die Zeilen hinten an die Datei angehängt werden.</p>
<p>Nun kann man sich im Panel oder auf dem Desktop einen benutzerdefinierten Anwendungsstarter anlegen, der "sudo /sbin/poweroff" oder "sudo /sbin/reboot" ausführt.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/ubuntu-mit-einem-klick-ausschalten/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NRW Wahl 2010</title>
		<link>http://www.daniel-ritter.de/blog/nrw-wahl-2010</link>
		<comments>http://www.daniel-ritter.de/blog/nrw-wahl-2010#comments</comments>
		<pubDate>Sun, 09 May 2010 14:13:53 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=571</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/05/1273413881055.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/05/1273413881055-300x225.jpg" alt="" title="1273413881055" width="300" height="225" class="aligncenter size-medium wp-image-572" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/nrw-wahl-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lasse Deine Kiste sprechen, wie in den alten Filmen</title>
		<link>http://www.daniel-ritter.de/blog/lasse-deine-kiste-sprechen-wie-in-den-alten-filmen</link>
		<comments>http://www.daniel-ritter.de/blog/lasse-deine-kiste-sprechen-wie-in-den-alten-filmen#comments</comments>
		<pubDate>Mon, 03 May 2010 23:50:22 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[espeak]]></category>
		<category><![CDATA[sprachausgabe]]></category>
		<category><![CDATA[swatch]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=558</guid>
		<description><![CDATA[Das hier ist ziemlich geekig, aber vielleicht gefällt es ja gerade deshalb. Kein Film in den 60ern, 70er und 80ern in dem ein Computer vorgekommen ist, hat es unterlassen der Kiste eine Stimme zu spendieren. Diese waren meistens (außer natürlich beim Übervisonär Kubrick) ziemlich robotisch. Wäre es nicht toll wenn unsere Rechner uns den ganzen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/image14.jpg"><img class="alignright size-full wp-image-24" title="Good Old Times" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/image14.jpg" alt="" width="500" height="375" /></a> Das hier ist ziemlich geekig, aber vielleicht gefällt es ja gerade deshalb. Kein Film in den 60ern, 70er und 80ern in dem ein Computer vorgekommen ist, hat es unterlassen der Kiste eine Stimme zu spendieren. Diese waren meistens (außer natürlich beim Übervisonär Kubrick) ziemlich robotisch. Wäre es nicht toll wenn unsere Rechner uns den ganzen Tag im Robo-Style nerven würden? Sie können! Aber es kann sogar recht nützlich sein, wenn man die Plapperei dezent einsetzt und interessante Dinge als Sprachausgabe sprechen lässt.</p>
<p>
Dann mal los:</p>
<p>Man braucht zunächst einmal eine Software für Sprachausgabe. "espeak" ist für den Zweck ziemlich gut geeignet. 80er-Robo-Style und gut konfigurierbar.</p>
<pre>
sudo apt-get install espeak
</pre>
<p>Um die Sprachausgaben zu automatisieren habe ich mich für "swatch" entschieden. Swatch ist ein Programm, das Logs live mitliest und beim Auffinden von bestimmten Suchmustern ein externes Programm startet - in unserem Fall espeak.</p>
<pre>
sudo apt-get install swatch
</pre>
<p>Jetzt ist alles installiert um einen ersten Laber-Task anzulegen.<br />
Die Kiste (ein Server) soll sprechen, wenn neue Mail ankommt.</p>
<p>Ich benutzte Spamassassin um meine Mail zu filtern. Deshalb erhalte ich solch eine Zeile in /var/log/mail.log. Und zwar jedes Mal, wenn eine neue Mail ankommt:</p>
<pre>
# /var/log/mail.log
May 03 16:34:04 star spamd[13365]: spamd: clean message (-2.4/0.5) for mailbox:1001 in 1.9 seconds, 7128 bytes.
</pre>
<p>Nun ist es an der Zeit swatch beizubringen, auf was es achten soll:</p>
<pre>
# /etc/swatch/ham
watchfor /clean message/
exec "espeak new_mail &#038;"
</pre>
<p>Nun muss nur noch der Swatch-Daemon gestartet werden:</p>
<pre>
/usr/bin/swatch --daemon --config-file=/etc/swatch/ham --tail-file=/var/log/mail.log
</pre>
<p>Ganz simpel. Aber die Möglichkeiten sind endlos. Alles was geloggt wird, kann gesprochen werden. Jetzt hat man alle Tools an der Hand um eine Kiste zu einer absolut nervigen Labertasche zu machen. Viel Spass!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/lasse-deine-kiste-sprechen-wie-in-den-alten-filmen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Release! Die Lucid ISOs sind da.</title>
		<link>http://www.daniel-ritter.de/blog/release-die-lucid-isos-sind-da</link>
		<comments>http://www.daniel-ritter.de/blog/release-die-lucid-isos-sind-da#comments</comments>
		<pubDate>Thu, 29 Apr 2010 18:44:45 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=540</guid>
		<description><![CDATA[Cool! http://www.ubuntu.com/getubuntu/download]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/lucid_release_torrent.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/lucid_release_torrent.jpg" alt="" title="lucid_release_torrent" width="600" height="450" class="aligncenter size-full wp-image-541" /></a></p>
<p>
Cool!</p>
<p>
<a href="http://www.ubuntu.com/getubuntu/download">http://www.ubuntu.com/getubuntu/download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/release-die-lucid-isos-sind-da/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 nützliche Dinge, die man mit SSH tun kann</title>
		<link>http://www.daniel-ritter.de/blog/6-nutzliche-dinge-die-man-mit-ssh-tun-kann</link>
		<comments>http://www.daniel-ritter.de/blog/6-nutzliche-dinge-die-man-mit-ssh-tun-kann#comments</comments>
		<pubDate>Thu, 29 Apr 2010 16:12:48 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[spickzettel]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>
		<category><![CDATA[verschlüsseldung]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=533</guid>
		<description><![CDATA[SSH ist wahrscheinlich mein liebstes Stück Software. Es ist frei, gibt mir Freiheit, es ist einfach zu benutzen und ist trotzdem sehr mächtig. Mit SSH kann man Kommunikation verschlüsseln. Das klappt auf eine sehr universelle Weise für fast jedes Problem. In diesem kleinen Howto zeige ich 6 nützliche Dinge die man - ohne zu großen [...]]]></description>
			<content:encoded><![CDATA[<p>SSH ist wahrscheinlich mein liebstes Stück Software. Es ist frei, gibt mir Freiheit, es ist einfach zu benutzen und ist trotzdem sehr mächtig. Mit SSH kann man Kommunikation verschlüsseln. Das klappt auf eine sehr universelle Weise für fast jedes Problem. In diesem kleinen Howto zeige ich 6 nützliche Dinge die man - ohne zu großen Stress - mit SSH tun kann. SSH ist mehr als "nur" eine sichere Remote-Shell!</p>
<p><strong>Ding #1 - Eine sichere Remote-Shell</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_console1.jpg" alt="ssh_console1" /></p>
<p>Das ist das Offensichtlichste was man mit SSH tun kann und die meisten Linuxuser haben es wohl schon einmal gemacht: Eine sichere Verbindung mit einem anderen Rechner herstellen und diesen darüber administrieren.</p>
<p>Das geht sehr einfach:</p>
<pre>ssh user@box_B</pre>
<p><span style="color: #000000;">Das verbindet Dich zu BOX B als "user". Danach kann man als "user" auf BOX B arbeiten.</span></p>
<p>Manchmal benötigt man gar keine interaktive Sitzung zu einem entfernten Rechner, sondern möchte lediglich ein einzelnes Kommando ausführen. </p>
<pre>ssh user@box_B command</pre>
<p><span style="color: #000000;">Hier wird man zu Box B als "user" verbunden, das Kommando "command" wird ausgeführt, das Ergebnis landet auf der lokalen Standardausgabe und die Verbindung wird beendet.</span></p>
<p><strong>Ding #2 - Dateien zwischen Rechnern sicher kopieren</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_copy.jpg" alt="ssh_copy" /></p>
<p>Cool, wir können eine entfernte Maschine mit SSH administrieren, aber man kann mit SSH auch Dateien von einer Maschine zu einer anderen kopieren. Es funktioniert im Grunde so wie das "cp" Kommando, es heisst aber "scp" - Secure Copy.</p>
<pre>scp /home/me/a_file.txt user@box_B:/home/me/</pre>
<p><span style="color: #000000;">Das kopiert die lokale Datei "/home/me/a_file.txt" auf Box A nach "/home/me/a_file.txt" auf Box B.</span></p>
<p>Es funktioniert auch andersherum:</p>
<pre>scp user@box_B:/home/me/b_file.txt /home/me</pre>
<p>Das würde die Datei "/home/me/b_file.txt" von Box B ins Home-Verzeichnis auf Box A kopieren.</p>
<p>Weil "scp" so ähnlich funktioniert wie "cp" sind auch Wildcards erlaubt:</p>
<pre>scp /var/log/* user@box_B:/home/me/logsbackup</pre>
<p><span style="color: #000000;">Das kopiert alle Logfiles von Box A nach "/home/me/logsbackup" auf Box B.</span></p>
<p><strong>Ding #3 - Ein Verzeichnis auf einem entfernten Rechner ins lokale Dateisystem mounten</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_mount.jpg" alt="ssh_mount" /></p>
<p>Manchmal reicht es nicht einfach nur einige Dateien von einem Rechner auf einen anderen zu kopieren. Ein entferntes Verzeichnis ins lokale Dateisystem zu mounten ist super nützlich, wenn man mit lokalen Programmen Remote-Files bearbeiten will. Ein gutes Beispiel dafür wäre zum Beispiel die Arbeit an einer Webseite auf einem entfernten Server. Man kann einfach das Web-Verzeichnis des entfernten Servers ins lokale Dateisystem mounten und danach die Dateien mit all den coolen lokal installierten HTML-Editoren und Grafikprogrammen öffnen und speichern. Ganz so als wären die Dateien auf der loaklen Platte. Hierfür benötigt man "sshfs". Das FUSE-Filesystem ist in vielen Distributionen nicht standardmässig installiert aber meistens in den Repositories enthalten. Unter Debian und Ubuntu kann man es so installieren:</p>
<pre>apt-get install sshfs</pre>
<p><span style="color: #000000;">Nach der Installation kann man beginnen es zu benutzen</span></p>
<pre>mkdir /mnt/b_data
sshfs user@box_B:/b_data /mnt/b_data</pre>
<p><span style="color: #000000;">Das mountet das Verzeichnis "/b_data" auf Box B nach "/mnt/b_data" im lokalen Dateisystem. Nun kann man mit lokalen Programm die Remote-Dateien bearbeiten. Wenn man fertig ist, kann man den mount wieder entfernen:</span></p>
<pre>fusermount -u /mnt/b_data</pre>
<p><span style="color: #000000;">Falls der unmount fehlschlägt sollte man überprüfen, ob noch Dateien vom Remoterechner geöffnet sind oder ob man sich noch mit der Shell oder einem Dateimanager im gemounteten Verzeichnis befindet.</span></p>
<p><strong>Ding #4 - Unzensiert und anonym von "kritischen Orten" aus im Web surfen</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_proxy.jpg" alt="ssh_proxy" /></p>
<p>Firmenrichtlinien, faschistische Regierungen, Internet-Cafes und andere unfreundliche Regelungen, Institutionen und Orte können einen sicheren und privaten Zugriff aufs Web ziemlich schwierig gestalten. Firewalls und Proxys könnten interessante Webseiten blocken, loggen wo man herumsurft, Man-In-The-Middle-Attacken ausführen oder einfach nur ein mulmiges Gefühl generieren. SSH ist die Lösung für alle diese Probleme. Es bietet die Möglichkeit als Web-Proxy (SOCKS) zu arbeiten. Man verbindet sich einfach per SSH zur guten vertrauenswürdigen BOX B und surft durch diese Verbindung. </p>
<p>(Lokaler Browser &lt;-&gt; Lokaler SSH Proxy &lt;-&gt; SSH &lt;-&gt; Box B &lt;-&gt; Webseite)</p>
<p>Dann kann niemand mehr im unfreundlichen lokalen LAN blockieren, zensieren oder schnüffeln.<br />
Klingt gut? Es ist sogar sehr einfach einzurichten und zu benutzen! SSH bietet die "-D" Option um einen SOCKS-Proxy auf der lokalen Maschine einzurichten:</p>
<pre>ssh -D 1234 user@box_B</pre>
<p>Nun hat man einen SOCKS-Proxy der auf localhost Port 1234 lauscht. Nun muss man nur noch seinem Browser so konfigurieren, dass er für Internetverbindungen diesen Proxy benutzt. Man kann überprüfen ob alles funktioniert hat, wenn man im Browser eine Webseite aufruft, die die IP-Adresse ausgibt, die für die Verbindung genutzt wurde. <a href="http://www.whatismyip.com">http://www.whatismyip.com</a> würde funktionieren, aber es gibt auch 1000de andere Seiten. Wenn dort die IP von Box B erscheint, ist alles in Butter. Ein portalbler Browser auf einem USB-Stick wie zum Beispiel <a href="http://portableapps.com/apps/internet/firefox_portable">Portable Firefox</a> würde die Sache noch angenehmer machen.</p>
<p><strong>Ding #5 - Den Traffic von lokalen Programmen verschlüsseln und tunneln oder auf Dienste in LANs zugreifen, die normalerweise nicht übers Internet erreichbar sind.<br />
</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_tunnel_l.jpg" alt="ssh_tunnel_l" /></p>
<p>OK, wir haben sicher Maschinen administriert, Dateien sicher von Maschine zu Maschine kopiert und haben sogar in China unzensiert im Web gesurft. Aber SSH kann mehr! Man kann damit den Datenaustausch aller lokalen Programme die TCP benutzen durch einen Tunnel zu einem vertrauenswürdigen Rechner schicken. Wie schon mit dem SOCKS-Proxy kann man Daten-Verkehr zunächst durch diesen Tunnel schicken, zum Beispiel den vom lokalen E-Mail Client, damit er nicht durchs lokale LAN fliessen muss. Wir möchten unsere E-Mail in einer "kritischen" Umgebung abrufen. Skript Kiddies, blöde Admins und Terror-China-Hacker könnten die Mail mitlesen oder sogar das E-Mail-Passwort mitsniffen. SSH hilft. Die Syntax für Tunnel mit SSH ist etwas krampfig und zunächst ein ziemlicher Brain-Twister aber eigentlich ziemlich logisch und mit ein bisschen Übung nicht schwierig:</p>
<pre>ssh -L local_port:target_host:target_port user@box_B</pre>
<p style="padding-left: 30px;"><span style="color: #000000;">zum Beispiel:</span></p>
<pre>ssh -L 10000:pop3.mailprovider.com:110 user@box_B</pre>
<p>Was ist hier geschehen? SSH wurde angewiesen einen Tunnnel mit einem <b>lokalen (-L)</b> Endpunkt auf Port 10000 anzulegen. Alles was in diesen lokalen Endpunkt an Daten hineingeworfen wird, fliesst zunächst verschlüsselt zu Box B und danach zu "pop3.mailprovider.com" auf port 110 (Port 110 ist POP3). Die Daten fliessen also vom lokalen E-Mail Client verschlüsselt zu Box B und von dort aus an den E-Mail-Provider. Der E-mail Account im lokalen Client benötigt somit also für den POP-Server folgende Einstellungen: Server: localhost / Port: 10000. Aber es muss nicht unbedingt E-Mail sein. Jede Applikation, die das TCP-Protokoll benutzt kann so getunnelt werden. Zum Beispiel IRC, FTP, HTTP, IMAP, etc. </p>
<p>Falls sich der Server auf den zugegriffen werden soll nicht irgendwo im Internet sondern auf Box B selbst befindet, kann der Zielrechner natürlich auch BOX B sein:</p>
<pre>ssh -L 10000:127.0.0.1:110 user@box_B</pre>
<p><span style="color: #000000;">Ziel in diesem Beispiel ist "127.0.0.1", weil es das Ziel aus der Sicht von Box B ist. Denn "127.0.0.1" gesehen von Box B ist Box B selbst.</span></p>
<p>Tunneln kann nützlich sein um Internetdienste abzusichern, aber auch um auf Dienste in BOX B's privatem Netzwerk zuzugreifen. Falls man einen von außen zugänglichen SSH-Account in einem LAN besitzt, kann man so auf alle TCP-Dienste in diesm LAN zugreifen, ganz so als sei man ein "echter" Client in diesem LAN. </p>
<p>Angenommen BOX B steht in einem Intrantet, das einen interessanten Webserver beherbergt, der aber nicht aus dem Ineternet zugänglich ist. Dieser Server läuft im LAN auf Kiste 192.168.0.77. Mit SSH tunnelt man nun einfach einen lokalen Port auf Port 80 des Webservers im LAN:</p>
<pre>ssh -L 10000:192.168.0.77:80 user@box_B</pre>
<p>Wenn man nun "http://127.0.0.1:10000" im lokalen Webbrowser aufruft landet man auf der Homepage des Webservers im entfernten Intranet.</p>
<p><strong>Ding #6 - Ein Tunnel - andersherum</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/7.jpg" alt="ssh_tunnel_r_good" /></p>
<p>Wenn #5 klar ist, sollten umgekehrte Tunnel kein Problem mehr sein. Hier wird ein <b>entfernter</b> Endpunkt für den Tunnel erstellt. Alles was dort hineinfliesst wird verschlüsselt weitergeleitet an BOX A (den lokale Rechner) und danach an den Zielrechner weitergeleitet.</p>
<pre>ssh -R remote_port:target_host:target_port user@box_B</pre>
<p style="padding-left: 30px;"><span style="color: #000000;">zum Beispiel:</span></p>
<pre>ssh -R 10000:pop3.mailprovider.com:110 user@box_B</pre>
<p>Im E-Mail-Client würde man als POP-Server "Box B" und Port "10000" eintragen.<br />
BOX B tunnelt dann den Traffic zunächst sicher auf BOX A um. Box A leitet danach weiter an "pop3.mailprovider.com" port "110"</p>
<p><strong>Nützliche Kommandozeilenoptionen für SSH</strong></p>
<p>-c "Compress"</p>
<p>Die "-c" Option komprimiert die übertragenen Daten mit gzip bevor sie durchs Inetrnet fliessen. Das erhöht die Geschwindigkeit beim Übertragen von unkomprimierten Daten (so wie reinem Text) stark. Sie ist nützlich beim Übertragen<br />
langer Textdateien oder beim Websurfen wenn man SSH als Proxy nutzt.</p>
<pre>ssh -c -D 1234 user@box_B</pre>
<p>-g "Grant Access"</p>
<p>Die "-g" option eraubt anderen Rechnern als localhost auf die lokal angelegten Tunnelendpunkte zuzugreifen. So können also zum Beispiel auch andere Rechner im LAN die lokal angelegten Tunnel nutzen.</p>
<pre>ssh -L -g 10000:127.0.0.1:110 user@box_B</pre>
<p>-p "Port"</p>
<p>Die "-p" Option benötigt man, wenn der entfernte SSH-Server nicht auf dem Standardport 22 lauscht.</p>
<pre>ssh -p 22000 user@box_b</pre>
<p>-v "Verbose"</p>
<p>Mit dieser Option kann man sehr viele technische Verbindungsinformationen sehen, falls man tiefer in SSH eintauchen möchte.</p>
<p><strong>Mehr Lesestoff:</strong></p>
<p>Ich habe versucht diesen Artikel so einfach wie möglich zu schreiben, da er mir selbst in erster Linie als Referenz dienen soll. Es gibt aber noch sehr viel mehr was man mit SSH tun kann:</p>
<p><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssh">The SSH man page</a></p>
<p><a href="http://www.ietf.org/rfc/rfc4251.txt">The SSH RFC</a></p>
<p><a href="http://en.wikipedia.org/wiki/Secure_Shell">Wikipedia on SSH</a></p>
<p><a href="http://www.amazon.com/SSH-Secure-Shell-Definitive-Guide/dp/0596008953/ref=sr_1_5?ie=UTF8&amp;s=books&amp;qid=1258596515&amp;sr=8-5">SSH - The Definitive Guide by O'Reilly</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/6-nutzliche-dinge-die-man-mit-ssh-tun-kann/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Meine Ubuntu 10.04 Lucid Lynx Problemchen (und wie ich sie gelöst habe)</title>
		<link>http://www.daniel-ritter.de/blog/meine-ubuntu-10-04-lucid-lynx-problemchen-und-wie-ich-sie-gelost-habe</link>
		<comments>http://www.daniel-ritter.de/blog/meine-ubuntu-10-04-lucid-lynx-problemchen-und-wie-ich-sie-gelost-habe#comments</comments>
		<pubDate>Thu, 29 Apr 2010 12:40:55 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[lucid lynx]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=476</guid>
		<description><![CDATA[Der Luchs ist da! Deshalb ist es wie schon bei Karmic an der Zeit alle Änderungen zu dokumentieren, die ich vornehmen musste, damit alles nach meinen Vorstellungen läuft. Diese Liste wird über die Lebenszeit des Luchses sicherlich noch etwas wachsen. Einige Probleme sind sehr speziell, andere könnten auch andere Benutzer interessieren. Im Großen und Ganzen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/lynx_patch.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/lynx_patch.jpg" alt="" title="lynx_patch" width="163" height="225" class="alignright size-full wp-image-515" /></a></p>
<p>Der Luchs ist da! Deshalb ist es <a href="http://www.daniel-ritter.de/blog/my-karmic-koala-annoyances-and-how-i-fixed-them">wie schon bei Karmic</a> an der Zeit alle Änderungen zu dokumentieren, die ich vornehmen musste, damit alles nach meinen Vorstellungen läuft. Diese Liste wird über die Lebenszeit des Luchses sicherlich noch etwas wachsen. Einige Probleme sind sehr speziell, andere könnten auch andere Benutzer interessieren. Im Großen und Ganzen bin ich schwer begeistert von 10.04: Alles wirkt etwas smoother, schneller und aufgeräumter. Karmic hat mir zwar gute Dienste geleistet, aber den Luchs habe ich bereits jetzt ins Herz geschlossen. Euch allen ein schönes halbes Jahr (oder sogar 3?) mit Ubuntu 10.04 Lucid Lynx!</p>
<p><strong>Problemchen #1: Fensterbuttons nach rechts verschieben</strong></p>
<p>Zum Glück nur einmal Copy/Paste....</p>
<pre>
<font size=1>
gconftool-2 --set /apps/metacity/general/button_layout --type string "menu:minimize,maximize,close"
</font>
</pre>
<p><p>
<strong>Problemchen #2: Miese Flash Performance</strong></p>
<p>Seit Karmic wurden die Standardeinstellungen für den Radeon-Treiber geändert. Meine Mobility Radeon 9600 auf einem Asus M6N kommt im Zusammenspiel mit Flash damit nicht klar. Webseiten mit Flash pushen die CPU auf 100%. Mit dieser xorg.conf klappt es:</p>
<pre>
Section "Device"
	Identifier	"Configured Video Device"
	Option          "AccelMethod" "XAA"
EndSection
</pre>
<p><p>
<strong>Problemchen #3: Fensterskalierung bei Pokerstars</strong></p>
<p>In Pokerstars unter Wine skalieren die Tische nicht mit, wenn man das Tischfenster resized. Mit einem speziellen Eintrag in der user.ini im Pokerstarsverzeichnis lässt sich das beheben. Nach einem Neustart von Pokerstars lässt sich das Fenster mit F5 auf die richtige Größe bringen.</p>
<pre>
# user.ini
[Options]
f5redrawtable=1
</pre>
<p><p>
<strong><br />
Problemchen #4: Links in Pokerstars</strong></p>
<p>In Pokerstars unter Wine öffnen angeklickte Links den Browser nicht.</p>
<pre>

"wine regedit" starten
Key HKEY_CLASSES_ROOT\http\shell\open\command suchen
In diesem Key "%1" nach "-nohome" anhängen
</pre>
<p><p>
<strong><br />
Problemchen #5: ffmpeg mit unfreien Codecs installieren</strong></p>
<p>ffmpeg ist super zum konvertieren von Videos. Um auch unfreie Codecs nutzen zu können (z.B. h264, AAC) muss man ffmpeg selbst kompilieren. Das <a href="http://ubuntuforums.org/showpost.php?p=9114176&#038;postcount=967">original Howto ist hier</a>.</p>
<p><iframe width="600" src="http://www.daniel-ritter.de/blog/extras/ffmpeg_compile.html"></iframe></p>
<p><p>
<strong><br />
Problemchen #6: Logitech Quickcam Chat funktioniert unter Skype nicht</strong></p>
<p>Die Kamera benötigt eine spezielle Library. So klappt es:</p>
<pre>
# Skype starten
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype
</pre>
<p><a href="http://www.blog.arun-prabha.com/2010/01/21/logitech-quickcam-chat-with-skype-2-1-in-ubuntu-linux/">Danke an Arun</a></p>
<p><p>
<strong><br />
Problemchen #7: Es werden nicht alle Auflösungen und Wiederholraten meines externen Monitors erkannt</strong></p>
<p>Eine Anpassung der xorg.conf mit den richtigen Werten funktioniert:</p>
<pre>
# /etc/X11/xorg.conf
Section "Monitor"
        Identifier      "NOVITAS"
        Option          "VGA"
        HorizSync       30-80
        VertRefresh     50-75
        ModeLine        "1024x768@75" 94.43 1024 1056 1528 1560 768 782 792 807
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Configured Video Device"
        Monitor         "NOVITAS"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1027x768@75" "1024x768" "800x600"
        EndSubSection
EndSection
</pre>
<p><p>
<strong><br />
<del datetime="2010-05-06T00:28:03+00:00">Problemchen #8: Der "Dokumentbetrachter" kann nicht drucken.</del></strong></p>
<p>Geht doch. Hatte nur Probleme mit einem ganz bestimmten Dokument. Alle anderen funktionieren.</p>
<p><p>
<strong><br />
Problemchen #9: Der Ziffernblock meiner Tastatur geht nicht mehr</strong></p>
<p>Wow was ist das denn? Jetzt wirds langsam nervig <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
"Mauszeiger per Tastatur steuern" war aktiv. Ist das eine neue Standardeinstellung?<br />
 (unter System > Einstellungen > Tastatur > Maustasten). Nach dem Deaktivieren dieses Features ging es wieder.</p>
<p><p>
<strong><br />
Problemchen #10: Lautstärkeregler im Panel ohne E-Mail Icon (Benachrichtigungsanzeige)</strong></p>
<p>Seit Lucid sind der Lautstärkeregler und die Steuerung für Evolution und Messenger gebündelt als "Benachrichtigungsanzeige". Ich benutze Evolution nicht und das E-mail-Icon nimmt Platz weg.</p>
<p>Unter System -> Einstellungen -> Startprogramme "gnome-volume-control-applet" eintragen um nur die Lautstärkensteuerung ohne das Brief-Icon zu bekommen.</p>
<p><p>
<strong><br />
Problemchen #11: Aktuellste Adobe-Flash Version installieren</strong></p>
<pre>
<font size=1>
#!/bin/bash
#
# http://labs.adobe.com/downloads/flashplayer10.html
#

sudo su
cd /tmp
wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_1_rc2_linux_041910.tar.gz
tar xvf /tmp/flashplayer10_1_rc2_linux_041910.tar.gz
mv /usr/lib/flashplugin-installer/libflashplayer.so /usr/lib/flashplugin-installer/libflashplayer.so.orig
mv /tmp/libflashplayer.so /usr/lib/flashplugin-installer/
rm /tmp/flashplayer10_1_rc2_linux_041910.tar.gz
</font>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/meine-ubuntu-10-04-lucid-lynx-problemchen-und-wie-ich-sie-gelost-habe/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Crosslink-Kabel Ersatz: Delock Crossover-Adapter RJ-45 (M) &#8211; RJ-45 (W)</title>
		<link>http://www.daniel-ritter.de/blog/crosslink-kabel-ersatz-delock-crossover-adapter-rj-45-m-rj-45-w</link>
		<comments>http://www.daniel-ritter.de/blog/crosslink-kabel-ersatz-delock-crossover-adapter-rj-45-m-rj-45-w#comments</comments>
		<pubDate>Wed, 28 Apr 2010 13:06:18 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[adapter]]></category>
		<category><![CDATA[crosslink]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[kabel]]></category>
		<category><![CDATA[patch]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=500</guid>
		<description><![CDATA[Crosslink-Kabel benötige ich äußerst selten. Man kann mit ihnen 2 Rechner direkt von Netzwerkkarte zu Netzwerkkarte (ohne einen Switch oder Router) verbinden. Immer wenn ich aber mal eins gebraucht habe, war es ziemlich dringend. Natürlich war dann auch gerade keins zur Hand und es ist in einer üblen Bastelei ausgeartet, wie rechts im Bild zu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/crossover.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/crossover-300x182.jpg" alt="" title="crossover" width="300" height="182" class="alignright size-medium wp-image-501" /></a> Crosslink-Kabel benötige ich äußerst selten. Man kann mit ihnen 2 Rechner direkt von Netzwerkkarte zu Netzwerkkarte (ohne einen Switch oder Router) verbinden. Immer <em>wenn</em> ich aber mal eins gebraucht habe, war es ziemlich dringend. Natürlich war dann auch gerade keins zur Hand und es ist in einer üblen Bastelei ausgeartet, wie rechts im Bild zu sehen. Im Crosslinkkabel sind lediglich die Adern gekreuzt. Auf einer Seite des Kabels ist ein normaler Patchkabel-Stecker, auf der anderen dasselbe noch einmal spiegelverkehrt. Um diesem Problem aus dem Weg zu gehen und da ich solch ein Kabel <a href="http://www.daniel-ritter.de/blog/auf-trojanerjagd-mit-einer-sniffenden-netzbrucke">vor kurzer Zeit einmal gebraucht hätte</a>, habe ich mir diesen kleinen schicken Adapter bestellt, der in Sekunden aus einem normalen Patchkabel ein Crosslinkkabel macht.   </p>

<div class="ngg-galleryoverview" id="ngg-gallery-6-500">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/crosslink-kabel-ersatz-delock-crossover-adapter-rj-45-m-rj-45-w?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=6&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-63" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock-crossover-adapter/IMG_0100.JPG" title=" " class="shutterset_set_6" >
								<img title="IMG_0100" alt="IMG_0100" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock-crossover-adapter/thumbs/thumbs_IMG_0100.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-65" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock-crossover-adapter/IMG_0102.JPG" title=" " class="shutterset_set_6" >
								<img title="IMG_0102" alt="IMG_0102" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock-crossover-adapter/thumbs/thumbs_IMG_0102.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-66" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock-crossover-adapter/IMG_0103.JPG" title=" " class="shutterset_set_6" >
								<img title="IMG_0103" alt="IMG_0103" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock-crossover-adapter/thumbs/thumbs_IMG_0103.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/crosslink-kabel-ersatz-delock-crossover-adapter-rj-45-m-rj-45-w/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Daten in Dropbox transparent verschlüsseln mit encfs</title>
		<link>http://www.daniel-ritter.de/blog/daten-in-dropbox-transparent-verschlusseln-mit-encfs</link>
		<comments>http://www.daniel-ritter.de/blog/daten-in-dropbox-transparent-verschlusseln-mit-encfs#comments</comments>
		<pubDate>Tue, 27 Apr 2010 16:00:50 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[dropbox]]></category>
		<category><![CDATA[encfs]]></category>
		<category><![CDATA[verschlüsselung]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=488</guid>
		<description><![CDATA[Dropbox ist schon ein tolles Tool. Nach der Installation hat man einen Ordner im lokalen Dateisystem, der automatisch alle enthaltenen Dateien online sichert und synchronisiert. Wenn man mehrere Rechner hat, erscheinen die Dateien auf allen Rechnern. Das ist sehr praktisch, zum Beispiel um wichtige Dokumente auf jedem Rechner verfügbar zu haben, oder um Konfigurationsdateien, wie [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/dropbox.jpg"><img class="aligncenter size-full wp-image-765" title="dropbox" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/dropbox.jpg" alt="" width="666" height="364" /></a><a href="https://www.dropbox.com/referrals/NTI5MTYwODM5"></a></p>
<p><a href="https://www.dropbox.com/referrals/NTI5MTYwODM5">Dropbox</a> ist schon ein tolles Tool. Nach der Installation hat man einen  Ordner im lokalen Dateisystem, der automatisch alle enthaltenen Dateien  online sichert und synchronisiert. Wenn man mehrere Rechner hat,  erscheinen die Dateien auf allen Rechnern. Das ist sehr praktisch, zum  Beispiel um wichtige Dokumente auf jedem Rechner verfügbar zu haben,  oder um Konfigurationsdateien, wie zum Beispiel das E-Mail-Adressbuch zwischen Rechnern zu synchronisieren. Allerdings sollte man sich darüber bewußt sein, dass alle Daten im Dropbox-Ordner natürlich auch auf einer Festplatte irgendwo in der "Cloud" liegen (müssen). Dropbox gibt zwar an, dass sie die Daten der Nutzer selbst nicht einsehen können, da sie mit dem Passwort des Nutzers verschlüsselt werden. Trotzdem hatte ich immer ein ungutes Gefühl dabei "wichtige" Dateien zu "dropboxen". Mit Hilfe von encfs kann man sich allerdings innerhalb der Dropbox einen verschlüsselten Bereich anlegen, der vollkommen transparent verschlüsselt und entschlüsselt wird. Ein gutes Gefühl, oder?</p>
<p>&nbsp;</p>
<p>Na dann mal los. Zunächst braucht man 2 neue Verzeichnisse. Zum einen ein Verzeichnis in der Dropbox, das später verschlüsselt wird und zum anderen ein Verzeichnis in das man das verschlüsselte Verzeichnis später entschlüsselt mounten kann:</p>
<pre>mkdir /home/user/Dropbox/enc
mkdir /home/user/dec
</pre>
<p>Danach bereitet man das verschlüsselte Verzeichnis für die Benutzung vor und mountet es direkt:</p>
<pre>sudo apt-get install encfs
encfs /home/user/Dropbox/enc /home/user/dec
</pre>
<p>Ab sofort werden alle Dateien, die in /home/user/dec abgelegt werden, verschlüsselt in die Dropbox gepackt.</p>
<p>Dateien in den Verzeichnissen sehen danach so aus:</p>
<pre>
# /home/user/dec

ww-ww-20:39:28 ~/dec-> ls -la
insgesamt 2320
drwxrwxr-x 13 ww ww    4096 2010-12-18 20:39 .
drwxr-xr-x 70 ww ww    4096 2010-12-18 03:39 ..
-rw-rw-r--  1 ww ww      13 2010-12-18 20:39 meine_geheime_datei

ww-ww-20:40:33 ~/dec -> cat ./meine_geheime_datei
SUPER GEHEIM

#/home/user/Dropbox/enc

ww-ww-20:39:28 ~/Dropbox/enc-> ls -la
-rw-rw-r--  1 ww ww      29 2010-12-18 20:39 zKcZI9p9vmR60OMvDJPKeZPnGyRByRWVRUKyAOr4sRTVu-

ww-ww-20:42:32 ~/Dropbox/enc -> cat ./zKcZI9p9vmR60OMvDJPKeZPnGyRByRWVRUKyAOr4sRTVu- 

��Z�
    ��>o��q0�����"�q
                    �
</pre>
<p>Den Mountvorgang kann man beim Login mit einem kleinen Einzeiler automatisieren:</p>
<pre>#!/bin/bash
echo "MeinPasswort" | encfs -S /home/user/Dropbox/emc /home/user/dec
</pre>
<p><strong>Eine gratis <a href="https://www.dropbox.com/referrals/NTI5MTYwODM5">Dropbox mit 2.25 GB Speicher bekommst Du hier</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/daten-in-dropbox-transparent-verschlusseln-mit-encfs/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>USB Netzwerkkarte (auch) für Linux: DeLOCK 61147 USB 2.0 &gt; Ethernet Adapter</title>
		<link>http://www.daniel-ritter.de/blog/usb-lan-nic-auch-fur-linux-delock-61147-usb-2-0-ethernet-adapter</link>
		<comments>http://www.daniel-ritter.de/blog/usb-lan-nic-auch-fur-linux-delock-61147-usb-2-0-ethernet-adapter#comments</comments>
		<pubDate>Fri, 23 Apr 2010 16:39:34 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[lan]]></category>
		<category><![CDATA[nic]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=461</guid>
		<description><![CDATA[Achtung! Aktuell unter Lucid läuft der Adapter NICHT mehr. Um es gleich vorweg zu nehmen - der Adapter läuft mit einem aktuellen Linux ohne Treiberinstallation sofort "out of the Box" (getestet unter Debian Lenny und Ubuntu Karmic). Drinnen steckt ein indischer MOSCHIP 7830. Mit dem praktischen Teil kann man allen Kisten mit USB-Anschluss eine weitere [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Achtung! Aktuell unter Lucid läuft der Adapter NICHT mehr.</strong></p>
<p>Um es gleich vorweg zu nehmen - der Adapter läuft mit einem aktuellen Linux ohne Treiberinstallation sofort "out of the Box" (getestet unter Debian Lenny und Ubuntu Karmic). Drinnen steckt ein indischer <a href="http://www.moschip.com/mcs7830_downloads.php">MOSCHIP 7830</a>.  Mit dem praktischen Teil kann man allen Kisten mit USB-Anschluss eine weitere Netzwerkkarte spendieren. Zum Beispiel um ein Notebook als Bridge oder Router zu benutzen, oder um Kisten ohne Netzwerkkarte online zu bekommen.</p>
<p>Nach dem Einstecken:</p>
<pre>
# /var/log/messages

Apr 23 18:23:08 ww kernel: [13489.976038] usb 1-3: new high speed USB device using ehci_hcd and address 7
Apr 23 18:23:08 ww kernel: [13490.112911] usb 1-3: configuration #1 chosen from 1 choice
Apr 23 18:23:08 ww kernel: [13490.184613] usb 1-3: applying rev.C fixup
Apr 23 18:23:08 ww kernel: [13490.192111] usb 1-3: applying rev.C fixup
Apr 23 18:23:08 ww kernel: [13490.201739] eth2: register 'MOSCHIP usb-ethernet driver' at usb-0000:00:1d.7-3, MOSCHIP 7830/7730 usb-NET adapter, 00:13:3b:04:00:5a
Apr 23 18:23:09 ww NetworkManager:    SCPlugin-Ifupdown: devices added (path: /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/net/eth5, iface: eth5)
Apr 23 18:23:09 ww kernel: [13490.251588] udev: renamed network interface eth2 to eth5
Apr 23 18:23:09 ww NetworkManager:    SCPlugin-Ifupdown: device added (path: /sys/devices/pci0000:00/0000:00:1d.7/usb1/1-3/1-3:1.0/net/eth5, iface: eth5): no ifupdown configuration found.
</pre>
<p>eth5 existiert danach und kann direkt konfiguriert werden.</p>
<p>Mit dabei ist noch eine Treiber-CD mit Treibern für Windows und Linux, man kann sich zur Not also auch das Kernelmodul selbst kompilieren. Der Hersteller bietet eine Seite mit <a href="http://delock.com/service/support/driver.html?groupname=USB%20Adapter&#038;show=group&#038;action=showdrivers&#038;itemnumber=61147&#038;">aktuellen Treibern</a> für alle gängigen Betriebssysteme. Und auch vom Chiphersteller selbst gibt es eine <a href="http://www.moschip.com/mcs7830_downloads.php">Treiber-Downloadseite</a>.</p>
<p>Ein cooles Teil. Es wird sich noch im täglichen Gebrauch beweisen müssen, aber der erste Eindruck war sehr gut.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-5-461">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/usb-lan-nic-auch-fur-linux-delock-61147-usb-2-0-ethernet-adapter?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=5&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-57" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/IMG_0095.JPG" title=" " class="shutterset_set_5" >
								<img title="IMG_0095" alt="IMG_0095" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/thumbs/thumbs_IMG_0095.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-58" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/IMG_0096.JPG" title=" " class="shutterset_set_5" >
								<img title="IMG_0096" alt="IMG_0096" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/thumbs/thumbs_IMG_0096.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-59" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/IMG_0097.JPG" title=" " class="shutterset_set_5" >
								<img title="IMG_0097" alt="IMG_0097" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/thumbs/thumbs_IMG_0097.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-60" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/IMG_0098.JPG" title=" " class="shutterset_set_5" >
								<img title="IMG_0098" alt="IMG_0098" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/thumbs/thumbs_IMG_0098.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-61" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/IMG_0099.JPG" title=" " class="shutterset_set_5" >
								<img title="IMG_0099" alt="IMG_0099" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/thumbs/thumbs_IMG_0099.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-62" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/manual.jpg" title=" " class="shutterset_set_5" >
								<img title="manual" alt="manual" src="http://www.daniel-ritter.de/blog/wp-content/gallery/delock_usb_ethernet/thumbs/thumbs_manual.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/usb-lan-nic-auch-fur-linux-delock-61147-usb-2-0-ethernet-adapter/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vignette &#8211; Spielzeugkamera für Android</title>
		<link>http://www.daniel-ritter.de/blog/vignette-spielzeugkamera-fur-android</link>
		<comments>http://www.daniel-ritter.de/blog/vignette-spielzeugkamera-fur-android#comments</comments>
		<pubDate>Tue, 20 Apr 2010 17:09:45 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[toycam]]></category>
		<category><![CDATA[vignette]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=452</guid>
		<description><![CDATA[Vignette ist eine Kamera-App für Android die ein super Photo-Spielzeug abgibt. Mit sehr vielen (über 40) Effekten und Rahmen kann ein Photo direkt "live-bearbeitet" geschossen werden. Marketlink Hier ein paar meiner Vignette-Schnappschüsse mit einem Motorola Milestone, mehr gibts bei Flickr.]]></description>
			<content:encoded><![CDATA[<p>Vignette ist eine Kamera-App für Android die ein super Photo-Spielzeug abgibt. Mit sehr vielen (über 40) Effekten und Rahmen kann ein Photo direkt "live-bearbeitet" geschossen werden.</p>
<p><a href="market://search?q=pname:uk.co.neilandtheresa.Vignette">Marketlink</a></p>
<p>Hier ein paar meiner Vignette-Schnappschüsse mit einem Motorola Milestone, mehr gibts bei <a href="http://www.flickr.com/groups/vignetteforandroid/pool/">Flickr</a>.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-4-452">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/vignette-spielzeugkamera-fur-android?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=4&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-44" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271197256044.jpg" title=" " class="shutterset_set_4" >
								<img title="1271197256044" alt="1271197256044" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271197256044.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-46" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271368141160.jpg" title=" " class="shutterset_set_4" >
								<img title="1271368141160" alt="1271368141160" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271368141160.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-47" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271425695677.jpg" title=" " class="shutterset_set_4" >
								<img title="1271425695677" alt="1271425695677" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271425695677.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-48" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271503433736.jpg" title=" " class="shutterset_set_4" >
								<img title="1271503433736" alt="1271503433736" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271503433736.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-49" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271503875030.jpg" title=" " class="shutterset_set_4" >
								<img title="1271503875030" alt="1271503875030" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271503875030.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-50" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271504381296.jpg" title=" " class="shutterset_set_4" >
								<img title="1271504381296" alt="1271504381296" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271504381296.jpg" width="150" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-51" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271504458017.jpg" title=" " class="shutterset_set_4" >
								<img title="1271504458017" alt="1271504458017" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271504458017.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-52" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271504577928.jpg" title=" " class="shutterset_set_4" >
								<img title="1271504577928" alt="1271504577928" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271504577928.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-53" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271534650304.jpg" title=" " class="shutterset_set_4" >
								<img title="1271534650304" alt="1271534650304" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271534650304.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-54" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271612186667.jpg" title=" " class="shutterset_set_4" >
								<img title="1271612186667" alt="1271612186667" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271612186667.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-55" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271612346594.jpg" title=" " class="shutterset_set_4" >
								<img title="1271612346594" alt="1271612346594" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271612346594.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-56" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/1271612554576.jpg" title=" " class="shutterset_set_4" >
								<img title="1271612554576" alt="1271612554576" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_1271612554576.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-106" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/2010-10-27-03-09-48-312.jpg" title=" " class="shutterset_set_4" >
								<img title="2010-10-27-03-09-48-312" alt="2010-10-27-03-09-48-312" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_2010-10-27-03-09-48-312.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-107" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/web/2010-10-27-19-26-00-338.jpg" title=" " class="shutterset_set_4" >
								<img title="2010-10-27-19-26-00-338" alt="2010-10-27-19-26-00-338" src="http://www.daniel-ritter.de/blog/wp-content/gallery/web/thumbs/thumbs_2010-10-27-19-26-00-338.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/vignette-spielzeugkamera-fur-android/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Auf Trojanerjagd mit einer sniffenden Netzbrücke</title>
		<link>http://www.daniel-ritter.de/blog/auf-trojanerjagd-mit-einer-sniffenden-netzbrucke</link>
		<comments>http://www.daniel-ritter.de/blog/auf-trojanerjagd-mit-einer-sniffenden-netzbrucke#comments</comments>
		<pubDate>Tue, 20 Apr 2010 16:11:44 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bridge]]></category>
		<category><![CDATA[netzwerk]]></category>
		<category><![CDATA[sniff]]></category>
		<category><![CDATA[trojaner]]></category>
		<category><![CDATA[wireshark]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=434</guid>
		<description><![CDATA[Vor einigen Tagen erhielt ich einen Anruf mit der Bitte um Hilfe. Aus einem Firmen-LAN mit ca. 10 Clients konnte keine E-Mail mehr versandt werden. Alle Mails blieben in der Warteschlange des lokalen SMTP stecken, der sie an einen Remote-SMTP beim Provider weiterreichen sollte. Eine manuelle Telnet-Session zum SMTP des Providers brachte schnelle Klarheit: "Your [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/sniff.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/sniff.jpg" alt="" title="sniff" width="450" height="1045" class="alignright size-full wp-image-435" /></a> Vor einigen Tagen erhielt ich einen Anruf mit der Bitte um Hilfe. Aus einem Firmen-LAN mit ca. 10 Clients konnte keine E-Mail mehr versandt werden. Alle Mails blieben in der Warteschlange des lokalen SMTP stecken, der sie an einen Remote-SMTP beim Provider weiterreichen sollte. Eine manuelle Telnet-Session zum SMTP des Providers brachte schnelle Klarheit: "Your IP is blacklisted in <a href="http://www.spamcop.net">Spamcop.net</a>'s Spam-Database". Ups. Ich dachte zunächst nichts Böses und ging davon aus, dass das Problem dadurch entstanden ist, dass durch Pech beim täglichen IP-Wechsel eine Ex-Adresse eines Spammers zugewiesen worden war. Nach einem mauellen Reset des Routers, der dadurch eine neue IP bekam, war das Problem auch gelöst (dachte ich zumindest). Die Mails gingen raus. </p>
<p>
<p>
Einen Tag später: "Wir können keine Mails mehr verschicken!" Oh nein, eine Workstation hat einen Trojaner. Der Spammer ist im LAN. Avira Workstation Pro läuft auf allen XP-Clients im LAN und hat in der Regel auch zuverlässig funktioniert. Hier ist aber wohl etwas schief gelaufen.</p>
<p>Um herauszufinden wer der Übeltäter ist, habe ich den SMTP-Traffic zwischen DSL-Router und LAN gesnifft. Da alle Clients an Switchen hängen, war passives Mithören am selben Switch mit einem Client nicht möglich (Das geht nur mit HUB's). Deshalb habe ich mit einer Debian-Kiste, 2 Netzwerkkarten und 2 Switches ziemlich umständlich einen Wiretap gebaut. Dabei war mir <a href="http://www.heise.de/netze/artikel/Ethernet-Bridge-als-Sniffer-Quelle-221486.html">dieser Artikel</a> von heise netze sehr nützlich.</p>
<p>Im Endeffekt muss nur die Verkablung des Sniff-Rechners stimmen, danach muss eine<br />
Netzwerkbrücke erstellt werden:</p>
<p>Die beiden Netzwerkkarten im Rechner wurden gebridged, damit der ganze LAN-INTERNET Traffic auch durch den Pinguin fliessen konnte. Ein Sniff mit Wireshark auf TCP/25 brachte dann sehr schnell die Lösung. In Sekundenschnelle füllte sich das Livelog mit SMTP-Verbindungen eines LAN-CLients zu externen SMTPs.</p>
<p>Den Übeltäter habe ich mit dem <a href="http://www.free-av.com/de/produkte/12/avira_antivir_rescue_system.html">Avira Rescue System</a> gebootet. Die Live-CD hat einen Trojaner (TR/Trojan.GEN) festgestellt, konnte ihn aber nicht löschen. Ich habe die infizierte Datei (Zufallsname in system32/drivers) danach mit einer Ubuntu-Live-CD  entfernt. Die Spamflut hatte aufgehört. Ich muss es noch einige Zeit beobachten, aber ich glaube der Client ist wieder Herr seiner Sinne.</p>
<p>Ich werde mir mal so einen <a href="http://www.amazon.de/gp/product/B0009M1LFW">USB LAN NIC</a> besorgen. Dann geht das ganze auch mit dem Notebook. Das wäre viel angenehmer beim nächsten Mal.</p>
<p><p>
Die heise Schnüffel-Bridge:</p>
<pre>
apt-get install brctl

ifconfig eth0 -arp promisc 0.0.0.0 up
ifconfig eth1 -arp promisc 0.0.0.0 up
brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 -arp promisc 0.0.0.0 up
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/auf-trojanerjagd-mit-einer-sniffenden-netzbrucke/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Die Ubuntu 10.04 Lucid Lynx Wallpaper sind da</title>
		<link>http://www.daniel-ritter.de/blog/die-ubuntu-10-04-lucid-lynx-wallpaper-sind-da</link>
		<comments>http://www.daniel-ritter.de/blog/die-ubuntu-10-04-lucid-lynx-wallpaper-sind-da#comments</comments>
		<pubDate>Thu, 15 Apr 2010 00:28:30 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[10.04]]></category>
		<category><![CDATA[lucid lynx]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=425</guid>
		<description><![CDATA[Der Contest in der Ubuntu Artwork Flickr Group ist vorbei und die offiziellen Wallpaper für Lucid Lynx, die standardmässig in der Final enthalten sein werden, stehen fest. Alle Wallpaper bekommt man zum Download im Launchpad.]]></description>
			<content:encoded><![CDATA[<p>Der Contest in der <a href="http://www.flickr.com/groups/ubuntu-artwork">Ubuntu Artwork Flickr Group</a> ist vorbei und die offiziellen Wallpaper für Lucid Lynx, die standardmässig in der Final enthalten sein werden, stehen fest.</p>
<p>Alle Wallpaper bekommt man zum <a href="https://launchpad.net/ubuntu/lucid/+source/ubuntu-wallpapers/0.31.3/+files/ubuntu-wallpapers_0.31.3.tar.gz">Download im Launchpad</a>.</p>

<div class="ngg-galleryoverview" id="ngg-gallery-3-425">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/die-ubuntu-10-04-lucid-lynx-wallpaper-sind-da?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=3&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-28" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/BosqueTK.jpg" title=" " class="shutterset_set_3" >
								<img title="BosqueTK" alt="BosqueTK" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_BosqueTK.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-29" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/BusquedaNocturna.jpg" title=" " class="shutterset_set_3" >
								<img title="BusquedaNocturna" alt="BusquedaNocturna" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_BusquedaNocturna.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-30" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Cornered.jpg" title=" " class="shutterset_set_3" >
								<img title="Cornered" alt="Cornered" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Cornered.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-31" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/CurlsbyCandy.jpg" title=" " class="shutterset_set_3" >
								<img title="CurlsbyCandy" alt="CurlsbyCandy" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_CurlsbyCandy.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-32" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Daisy.jpg" title=" " class="shutterset_set_3" >
								<img title="Daisy" alt="Daisy" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Daisy.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-33" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/FallDrops,AncientLight.jpg" title=" " class="shutterset_set_3" >
								<img title="FallDrops,AncientLight" alt="FallDrops,AncientLight" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_FallDrops,AncientLight.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-34" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Fluffodome.jpg" title=" " class="shutterset_set_3" >
								<img title="Fluffodome" alt="Fluffodome" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Fluffodome.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-35" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Icystones2.jpg" title=" " class="shutterset_set_3" >
								<img title="Icystones2" alt="Icystones2" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Icystones2.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-36" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/InthedarkRedux.jpg" title=" " class="shutterset_set_3" >
								<img title="InthedarkRedux" alt="InthedarkRedux" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_InthedarkRedux.jpg" width="195" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-37" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Maraetaibeforesunrise.jpg" title=" " class="shutterset_set_3" >
								<img title="Maraetaibeforesunrise" alt="Maraetaibeforesunrise" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Maraetaibeforesunrise.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-38" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Outoffocus.jpg" title=" " class="shutterset_set_3" >
								<img title="Outoffocus" alt="Outoffocus" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Outoffocus.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-39" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Pointy.jpg" title=" " class="shutterset_set_3" >
								<img title="Pointy" alt="Pointy" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Pointy.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-40" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/SmoothMoment.jpg" title=" " class="shutterset_set_3" >
								<img title="SmoothMoment" alt="SmoothMoment" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_SmoothMoment.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-41" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Warmlights.jpg" title=" " class="shutterset_set_3" >
								<img title="Warmlights" alt="Warmlights" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Warmlights.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-42" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/Yellowflower.jpg" title=" " class="shutterset_set_3" >
								<img title="Yellowflower" alt="Yellowflower" src="http://www.daniel-ritter.de/blog/wp-content/gallery/ubuntu-lucyd-lynx-10-04-wallpapers/thumbs/thumbs_Yellowflower.jpg" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/die-ubuntu-10-04-lucid-lynx-wallpaper-sind-da/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Meine (erschreckend langweiligen) Top10 Android-Apps</title>
		<link>http://www.daniel-ritter.de/blog/meine-erschreckend-langweiligen-top10-android-apps</link>
		<comments>http://www.daniel-ritter.de/blog/meine-erschreckend-langweiligen-top10-android-apps#comments</comments>
		<pubDate>Sun, 11 Apr 2010 19:05:33 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[top 10]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=414</guid>
		<description><![CDATA[Apps für dies, Apps für das. Viele Apps, mehr Apps, nur noch Apps. Ich als Spielkind probiere natürlich so ziemlich jede Android-App aus, die mir interessant erscheint. Es macht mir Spass, sich das perfekte Werkzeug für jede Eventualität zu schaffen. Trotzdem habe ich mir die Frage gestellt, welche Apps ich wirklich regelmässig benutze. Natürlich gibt [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/topandroid.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/topandroid.jpg" alt="" title="topandroid" width="506" height="783" class="alignright size-full wp-image-415" /></a> Apps für dies, Apps für das. Viele Apps, mehr Apps, nur noch Apps. Ich als Spielkind probiere natürlich so ziemlich jede Android-App aus, die mir interessant erscheint. Es macht mir Spass, sich das perfekte Werkzeug für jede Eventualität zu schaffen. Trotzdem habe ich mir die Frage gestellt, welche Apps ich wirklich regelmässig benutze. Natürlich gibt es auch dafür eine App, nämlich den "AppUsage Monitor". Nach 10 Tagen Selbsttest hier das ernüchternde Ergebnis: Auf Platz #1 - #4 Standardapps des Betriebssystems. Generation Nokia 3210: "*ICH* !!! brauche mein Handy *NUR* !!! zum telefonieren <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ". Direkt danach ein E-Book, das ich gerade lese. nsw ist mein Mediaplayer, Speedx 3D ein kurzweiliges Game. Den FTP-Server nutze ich um Daten von und auf das Handy zu schaufeln. #10 und nicht mehr auf dem Screenshot ist ConnectBot, ein sehr cooler mobiler SSH-Client. Ich werde alt. Wo sind mindestens 4 Games in den TOP 10? Wo ist die Porno-App? Warum ist kein Soziales Netzwerk mit dabei? SMS/MMS NICHT in den Top 10? Na ja. Was solls ...</p>
<p>Den Screenshot habe ich übrigens mit "ShootMe" gemacht. Kostenlos und sehr gut - allerdings nur für gerootete Droiden...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/meine-erschreckend-langweiligen-top10-android-apps/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jump vom SkyTower in Auckland</title>
		<link>http://www.daniel-ritter.de/blog/jump-vom-skytower-in-auckland</link>
		<comments>http://www.daniel-ritter.de/blog/jump-vom-skytower-in-auckland#comments</comments>
		<pubDate>Sat, 10 Apr 2010 14:41:21 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[skytower auckland]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=410</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/xcWgSnK0_5k&#038;hl=de&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xcWgSnK0_5k&#038;hl=de&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/jump-vom-skytower-in-auckland/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mit der PS3 online zocken ohne Update 3.21 [defunct]</title>
		<link>http://www.daniel-ritter.de/blog/mit-der-ps3-online-zocken-ohne-update-3-21</link>
		<comments>http://www.daniel-ritter.de/blog/mit-der-ps3-online-zocken-ohne-update-3-21#comments</comments>
		<pubDate>Thu, 08 Apr 2010 20:09:34 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[other os]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[squid]]></category>
		<category><![CDATA[update 3.21]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=395</guid>
		<description><![CDATA[Leider funktioniert der Workaround seit dem 13. April nicht mehr. Sony überprüft inzwischen auch bei der Anmeldung ans PSN die Firmware-Version. Das Update Downgrade 3.21 für die PS3 entfernt die Linux-Unterstützung der PS3. Deshalb sollte man es nicht installieren, falls man die PS3 auch weiterhin als Linux-Rechner benutzen möchte. Um trotzdem mit der PS3 online [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/ps3_squid.jpg"><img class="alignright size-full wp-image-396" title="ps3_squid" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/ps3_squid.jpg" alt="" width="300" height="161" /></a><strong>Leider funktioniert der Workaround seit dem 13. April nicht mehr. Sony überprüft inzwischen auch bei der Anmeldung ans PSN die Firmware-Version. </strong> Das <del datetime="2010-04-08T19:43:46+00:00">Update</del> Downgrade 3.21 für die PS3 entfernt die Linux-Unterstützung der PS3. Deshalb sollte man es nicht installieren, falls man die PS3 auch weiterhin als Linux-Rechner benutzen möchte. Um trotzdem mit der PS3 online zocken zu können muss man etwas tricksen und ihr vorgaukeln, es gäbe das Update auf 3.21 gar nicht. Danke an einige Unbekannte aus dem <a href="http://forum.golem.de/kommentare/security/tschuess-linux-ps3-firmware-3.21-ist-da/workaround-kein-update-aber-dennoch-psn/40403,2189780,2189780,read.html">Golem-Forum</a>, die die Methode zusammengebastelt haben. Ich habe sie lediglich in einem leicht zu benutzenden Skript zusammengefasst. Der Trick funktioniert so: Bevor die PS3 online geht, überprüft sie, ob sie die neueste Systemsoftware hat. Wenn nicht, wird der Benutzer zum Update aufgefordert und die Verbindung schlägt fehl. Zur Überprüfung verbindet sich die PS3 mit einem SONY-Server und liest dort eine Textdatei, in der die aktuelle Version hinterlegt ist.</p>
<p>Um der PS3 vorzugaukeln, dass sie bereits die aktuelle Version hat, benötigt man einen lokalen Proxy-Server (im Beispiel Squid), der die Anfrage an den SONY-Server an einen anderen Webserver umleitet, auf dem eine ältere Version der Textdatei liegt. Die PS3 denkt, dass sie aktuell ist und geht online.</p>
<p>Der Code wurde getstet unter einem Debian Lenny mit einem lokalen Webserver auf der Maschine. Er sollte aber auch unter Ubuntu ohne Probleme funktionieren.</p>
<p><iframe width=600 src="http://www.daniel-ritter.de/blog/extras/ps3_squid.html"></p>
<p></iframe></p>
<p>Danach muss man in der PS3 als Proxy (Einstellungen -> Netwerk-Einstellungen -> Internetverbindungseinstellungen) lediglich noch die IP des Squid-Proxys angeben. Der Squid-Standardport ist 3128. </p>
<p>Leider ist das keine permanente Lösung. Sobald die ersten Games die Firmware 3.21 voraussetzen, werden diese durch diesen Workaround unspielbar. Aber wahrscheinlich ist ohnehin bald eine <a href="http://www.daniel-ritter.de/blog/linux-auf-der-ps3-offenbar-gerettet">permanente Lösung</a> verfügbar. Eventuell tut sich auch auf rechtlicher Seite etwas, da das Vorgehen von SONY klar gegen die <a href="http://www.wak-tt.com/tt/2yearwarranty1.htm">EU-Direktive 1999/44 </a>verstößt, die unter anderem vorschreibt, dass ein in der EU gekauftes Produkt die Funktion erfüllen muss, die dem Käufer zur Zeit des Kaufes bekanntgemacht wurde. Wörtlich:  "fit for the purpose which the consumer requires them and which was made known to the seller at the time of purchase""</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/mit-der-ps3-online-zocken-ohne-update-3-21/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux auf der PS3 offenbar gerettet</title>
		<link>http://www.daniel-ritter.de/blog/linux-auf-der-ps3-offenbar-gerettet</link>
		<comments>http://www.daniel-ritter.de/blog/linux-auf-der-ps3-offenbar-gerettet#comments</comments>
		<pubDate>Thu, 08 Apr 2010 07:23:12 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[ps3]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=391</guid>
		<description><![CDATA[Letzte Woche hat die neue PS3-Firmware Blogger-Wellen geschlagen, da sie als einziges neues Feature den Support f&#252;r das zus&#228;tzliche Betriebssystem auf der PS3 entfernte. Heute pr&#228;sentierte "GeoHot" seinen angek&#252;ndigten Weg aus der Misere: Ich habe bisher nicht upgedatet, um das "Other OS" nicht zu gef&#228;hrden, da ich mir damit eine Emu-Box bauen wollte. Bisher wurde [...]]]></description>
			<content:encoded><![CDATA[<p>Letzte Woche hat die neue PS3-Firmware Blogger-Wellen geschlagen, da sie als einziges neues Feature den Support f&#252;r das zus&#228;tzliche Betriebssystem auf der PS3 entfernte. Heute pr&#228;sentierte "GeoHot" seinen angek&#252;ndigten Weg aus der Misere:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/1-9wLWQ4-uA&#038;hl=de_DE&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1-9wLWQ4-uA&#038;hl=de_DE&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Ich habe bisher nicht upgedatet, um das "Other OS" nicht zu gef&#228;hrden, da ich mir damit eine Emu-Box bauen wollte. Bisher wurde der Patch von Geohot noch nicht ver&#246;ffentlicht. Um weiterhin mit einer nicht aktualisierten PS3 online gehen zu k&#246;nnen, kann mit einem Webproxy wie zum Beispiel Squid gebastelt werden. Ich bin gespannt. Mehr Infos hier: <a href="http://geohotps3.blogspot.com/">http://geohotps3.blogspot.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/linux-auf-der-ps3-offenbar-gerettet/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Neuseeland 2010</title>
		<link>http://www.daniel-ritter.de/blog/neuseeland-2010</link>
		<comments>http://www.daniel-ritter.de/blog/neuseeland-2010#comments</comments>
		<pubDate>Sun, 04 Apr 2010 15:56:34 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[neuseeland]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[photos daniel]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=380</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
<div class="ngg-galleryoverview" id="ngg-gallery-2-380">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/neuseeland-2010?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=2&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-12" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0159.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0159" alt="IMG_0159" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0159.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-13" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0318.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0318" alt="IMG_0318" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0318.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-14" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0325.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0325" alt="IMG_0325" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0325.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-15" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0340.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0340" alt="IMG_0340" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0340.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-16" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0438.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0438" alt="IMG_0438" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0438.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-17" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0461.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0461" alt="IMG_0461" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0461.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-18" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0598.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0598" alt="IMG_0598" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0598.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-19" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0613.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0613" alt="IMG_0613" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0613.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-20" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0635.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0635" alt="IMG_0635" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0635.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-21" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0676.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0676" alt="IMG_0676" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0676.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-22" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0681.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0681" alt="IMG_0681" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0681.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-23" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0682.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0682" alt="IMG_0682" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0682.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-24" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0721.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0721" alt="IMG_0721" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0721.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-25" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0725.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0725" alt="IMG_0725" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0725.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-26" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0768.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0768" alt="IMG_0768" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0768.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-27" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/IMG_0839.JPG" title=" " class="shutterset_set_2" >
								<img title="IMG_0839" alt="IMG_0839" src="http://www.daniel-ritter.de/blog/wp-content/gallery/neuseeland-2010/thumbs/thumbs_IMG_0839.JPG" width="200" height="150" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>


]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/neuseeland-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ubuntuzilla &#8211; Immer die aktuelle Firefox- und Thunderbirdversion unter Ubuntu</title>
		<link>http://www.daniel-ritter.de/blog/ubuntuzilla-immer-die-aktuelle-firefox-und-thunderbirdversion-unter-ubuntu</link>
		<comments>http://www.daniel-ritter.de/blog/ubuntuzilla-immer-die-aktuelle-firefox-und-thunderbirdversion-unter-ubuntu#comments</comments>
		<pubDate>Sun, 04 Apr 2010 15:35:22 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[thunderbird]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=374</guid>
		<description><![CDATA[Das Paketsystem von Ubuntu ist schon etwas Feines. Nachdem man ein Programm über die Paketverwaltung installiert hat, bekommt man automatisch Sicherheitsupdates und neuere Versionen eingespielt. Sicherheitsupdates kommen sofort, wenn sie verfügbar sind. Neue Software-Versionen hingegen leider immer nur im Takt der Ubuntu Releases. Man wartet, wenn man sich das entsprechende Programm nicht manuell installieren will, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/ubuntuzilla.jpg"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/ubuntuzilla.jpg" alt="" title="ubuntuzilla" width="153" height="152" class="alignright size-full wp-image-373" /></a> Das Paketsystem von Ubuntu ist schon etwas Feines. Nachdem man ein Programm über die Paketverwaltung installiert hat, bekommt man automatisch Sicherheitsupdates und neuere Versionen eingespielt. Sicherheitsupdates kommen sofort, wenn sie verfügbar sind. Neue Software-Versionen hingegen leider immer nur im Takt der Ubuntu Releases. Man wartet, wenn man sich das entsprechende Programm nicht manuell installieren will, ziemlich genau 6 Monate auf die nächste Version. Das ist in der Regel kein Problem, nur bei Firefox und Thunderbird hat es mich manchmal gestört. </p>
<p>Diesem Problem hat sich das <a href="http://sourceforge.net/apps/mediawiki/ubuntuzilla/index.php?title=Main_Page">Ubuntuzilla-Projekt</a> angenommen. Sie betreiben ein Repository für Ubuntu, das stets die aktuellen stabilien Mozilla-Builds von Firefox, Thunderbird und Seamonkey enthält. Einmal dem aktuellen System hinzugefügt, bekommt man so bequem über die Paketverwaltung die neuesten Versionen eingespielt.</p>
<p>Und so funktioniert es:</p>
<p><strong>Ubuntuzilla-Repo der sources.list hinzufügen</strong></p>
<pre>
echo -e "\ndeb http://downloads.sourceforge.net/project/ubuntuzilla/mozilla/apt all main" | sudo tee -a /etc/apt/sources.list > /dev/null
</pre>
<p>
<p><strong>Den Repository Key hinzufügen um Nachfragen des Paketmanagers zu vermeiden</strong></p>
<pre>
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com C1289A29
</pre>
<p>
<p><strong>Danach die gewünschten Pakete installieren</strong></p>
<pre>
sudo apt-get update
sudo apt-get install firefox-mozilla-build
sudo apt-get install thunderbird-mozilla-build
sudo apt-get install seamonkey-mozilla-build
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/ubuntuzilla-immer-die-aktuelle-firefox-und-thunderbirdversion-unter-ubuntu/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BASH Spickzettel</title>
		<link>http://www.daniel-ritter.de/blog/bash-spickzettel</link>
		<comments>http://www.daniel-ritter.de/blog/bash-spickzettel#comments</comments>
		<pubDate>Sat, 03 Apr 2010 13:44:48 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[dpkg]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[netstat]]></category>
		<category><![CDATA[screen]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=348</guid>
		<description><![CDATA[Dies ist mein BASH-Spickzettel. Ich werde hier nützliche Codeschnipsel und Konstrukte sammeln, die ich ansonsten immer mal wieder googlen oder man'en musste. Der Artikel dient mir persönlich als Nachschlagewerk aber könnte auch anderen nützlich sein, die häufig mit der Bourne-again Shell zu tun haben. Schleifen while [ 1 ] #Endlosschleife do echo "Blah" done for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/bash.jpe"><img class="alignright size-full wp-image-349" title="bash" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/04/bash.jpe" alt="" width="250" height="100" /></a></p>
<p>Dies ist mein BASH-Spickzettel. Ich werde hier nützliche Codeschnipsel und Konstrukte sammeln, die ich ansonsten immer mal wieder googlen oder man'en musste. Der Artikel dient mir persönlich als Nachschlagewerk aber könnte auch anderen nützlich sein, die häufig mit der Bourne-again Shell zu tun haben.</p>
<p><strong>Schleifen</strong></p>
<pre>while [ 1 ] #Endlosschleife
do
    echo "Blah"
done</pre>
<pre>for i in $(ls /etc)
do
  echo $i
done

for i in `seq 1 10`;
do
  echo $i
done</pre>
<p><strong>Case</strong></p>
<pre>case "$1" in
     a)
            echo "a"
            ;;
     b)
            echo b"

            ;;
     *)
             echo "$1 ist nicht a oder b"
             ;;
esac</pre>
<pre>Switches für Test : <a href="http://bash-hackers.org/wiki/doku.php/commands/classictest">http://bash-hackers.org/wiki/doku.php/commands/classictest</a>

oder

/usr/bin/[ --help</pre>
<p><strong>If-Then-Else</strong></p>
<pre>if [ "$1" = "a" ]; then
   echo "a"
else
    echo "kein a"
fi</pre>
<p><strong>dpkg + apt</strong></p>
<pre>#Installierte Files aus einem Paket auflisten
dpkg -L [Paketname]

#Files IN einem Paket auflisten
dpkg -c [paket.deb]

#Info über ein Paket
dpkg -I [paket.deb]

#Alle installierten Pakete auflisten
dpkg -l
dpkg --get-selections &gt; getselections.txt

#Installationsauswahl aus Datei einspielen
dpkg --set-selections &lt; getselections.txt</pre>
<p><strong>netstat</strong></p>
<pre># Alle nach außen geöffneten Ports listen
netstat -lpn | grep LISTEN | grep -v localhost</pre>
<p><strong>mdadm</strong></p>
<pre># Testmail senden
# Benutzt MAILADDR aus /etc/mdadm/mdadm.conf
mdadm --monitor -1 /dev/md0 -t

# Device dem Array hinzufügen
mdadm --add /dev/md0 /dev/sda1

# Device aus dem Array entfernen
mdadm --remove /dev/md0 /dev/sda1

# Fehlerhafte Devices entfernen
mdadm --manage /dev/md0 --remove faulty
mdadm --manage /dev/md0 --remove failed

# Bootloader nachinstallieren
grub
grub&gt; root (hd0,0)
grub&gt; setup(hd0)

# Festplatteninfos ausgeben
smartctl -i /dev/sdx</pre>
<p><strong>ext</strong></p>
<pre># Disklabel setzen
e2label device label</pre>
<p><strong>screen</strong></p>
<pre># Screens in Scripten automatisch generieren und task in screen starten
screen -S [screenname] -d -m [script.sh]

# Neue screen erstellen oder zu bestehender wechseln
screen -R -d [screenname]

# Keystroke zum verlassen einer Screen
CTRL - A - D</pre>
<p><strong>mysql</strong></p>
<pre># Alle Datenbanken in eine Datei dumpen
mysqldump -u root -psecret --all-databases &gt; backup.sql

# Nur die Datenbankstruktur in eine Datei dumpen
mysqldump -u root -psecret --no-data --all-databases &gt; backup.sql

# Dump wieder herstellen
mysql -u root -psecret &lt; backup.sql

# root Passwort resetten
/etc/init.d/mysql stop
echo "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('neuespasswort');" &gt;~/setrootpassword.sql
mysqld_safe --init-file=~/setrootpassword.sql
#[ctrl]+[c]
/etc/init.d/mysql start
rm -f ~/setrootpassword.sql</pre>
<p><strong>imagemagick</strong></p>
<pre># Alle Bilder im aktuellen Verzeichnis resizen
mogrify -resize 800x600 ./*.JPG

# Alle Bilder im aktuellen Verzeichnis in PNG konvertieren
mogrify -format png ./*</pre>
<p><strong>unionfs-fuse</strong></p>
<pre># Union zwischen a und b in c
# Geschrieben wird nach a

unionfs-fuse -o cow /home/a=RW:/home/b=RW /home/ww/Desktop/c</pre>
<p><strong>ffmpeg</strong></p>
<pre># flv in 3gp umwandeln
ffmpeg -i in.flv -f 3gp -vcodec h263 -s 176x144 -ab 12.2k -ar 8000 -ac 1 out.3gp

# so ziemlich von jedem Format in jedes andere so verlustfrei wie möglich umwandeln
ffmpeg -i infile.ext -pass 2 -sameq  outfile.ext</pre>
<p><strong>find</strong></p>
<pre># Dateien suchen und etwas mit ihnen tun
find . -name "*.mp3" -exec file {} \;

# Softlinks finden und anzeigen
find . -type l  -exec ls -l {} \; 

# Alle Dateien in einem Verzeichnis zählen
find /verzeichnis -type f | wc -l</pre>
<p><strong>sudo</strong></p>
<pre>#/etc/sudoers
# User username erlauben einen privilegierten Befehl ohne Passwort auszuführen
# (Muss ganz am Ende von /etc/sudoers angehängt werden)

username      ALL=NOPASSWD:   /sbin/reboot</pre>
<p><strong>iptables</strong></p>
<pre># Alles auf INPUT erlauben
 iptables -F; iptables -P INPUT ACCEPT

# Verbindungen debuggen
# Paketzähler einer Chain auf 0 setzen
iptables -Z INPUT

# Chain mit Paketzähler anzeigen
iptables -L INPUT -v</pre>
<p><strong>FTP mounten</strong></p>
<pre>mkdir /tmp/mnt
modprobe fuse
curlftpfs -v ftp.host.com -o nonempty -o user=username:passwort /tmp/mnt
umount /tmp/mnt</pre>
<p><strong>umount "Device is busy" - Blockierenden Prozess finden</strong></p>
<pre>fuser -m [mountpoint]</pre>
<p><strong>wget Website mirrorn</strong></p>
<pre>wget -km http://www.website.com</pre>
<p><strong>SAMBA mounten</strong></p>
<pre>mount.cifs //192.168.0.1/share /media/share -o username=$USERNAME,password=$PASSWORD</pre>
<p><strong>32bit oder 64bit</strong></p>
<pre>getconf LONG_BIT</pre>
<p><strong>/etc/fstab</strong></p>
<pre>NFS:
192.168.0.1:/home  /home  nfs  rsize=8192,wsize=8192,hard,intr  0 0</pre>
<p><strong>Disk Full - Speicherfresser finden</strong></p>
<pre>apt-get install ncdu
ncdu

# / ohne mounts auf andere FS in /mnt mounten
# (Falls mounts Daten auf der lokalen Platte verdecken)
mount --bind / /mnt ; du -sm /mnt</pre>
<p><strong>Vollverschlüsselung des Systems</strong></p>
<pre>Sehr gutes Tutorial von Andreas Haerter:

http://blog.andreas-haerter.com/2011/06/18/ubuntu-festplattenvollverschluesselung-lvm-luks</pre>
<p><strong>Platte über das LAN klonen</strong></p>
<pre>dd if=/dev/hda | ssh -c blowfish -C root@otherbox.ip.addr dd of=/dev/hda</pre>
<p><strong>Aktuellen UNIX TIMESTAMP (Epoch) ausgeben</strong></p>
<pre>date +%s</pre>
<p><strong>Asterisk</strong></p>
<pre>
#Sounddatei in von Asterisk abspielbares Format umwandeln
ffmpeg -i ./input.mp3 -ar 8000 -ac 1 -ab 64 ./output.wav
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/bash-spickzettel/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ein lustiger Windowsausflug</title>
		<link>http://www.daniel-ritter.de/blog/ein-lustiger-windowsausflug</link>
		<comments>http://www.daniel-ritter.de/blog/ein-lustiger-windowsausflug#comments</comments>
		<pubDate>Tue, 30 Mar 2010 23:36:45 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=329</guid>
		<description><![CDATA[Ich habe mich mit der Windowstrollerei halbwegs zurückgehalten, aber mein heutiger Ausflug in die gute, alte Microsoftwelt hatte es in sich. Ich benutze seit ca. 3 Jahren privat kein Windows mehr. Wenn ich tatsächlich einmal unbedingt ein Windows-Programm gebraucht habe, habe ich es mit wine oder einem XP in VirtualBox zum laufen gebracht. Heute benötigte [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe mic<a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/03/Bildschirmfoto-1.png.jpg"><img class="size-full wp-image-335 alignright" title="Bildschirmfoto-1.png" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/03/Bildschirmfoto-1.png.jpg" alt="" width="461" height="53" /></a>h mit der Windowstrollerei halbwegs zurückgehalten, aber mein heutiger Ausflug in die gute, alte Microsoftwelt hatte es in sich. Ich benutze seit ca. 3 Jahren privat kein Windows mehr. Wenn ich tatsächlich einmal unbedingt ein Windows-Programm gebraucht habe, habe ich es mit wine oder einem XP in VirtualBox zum laufen gebracht. Heute benötigte ich zum ersten mal wieder ein "echtes Windows", da ich eine neue Firmware auf mein Motorola Milestone flashen wollte. Das Tool dazu läuft leider nur unter nativem Windows. Da ich noch ein wenig Platz hinten auf meiner Platte hatte, machte ich mich schweren Herzens daran XP zu installieren. Ich hatte schon böse Vorahnungen. Nach der Neuinstallation liefen LAN und Grafik nicht richtig. Verständlich, hatte ein uraltes XP und die Treiber waren damals nur vom Hersteller verfügbar. Zuerst habe ich mir den LAN-Treiber mit einer anderen Kiste gesaugt - REBOOT - danach den VGA-Treiber mit meinem jetzt vernetzten XP. Installation - REBOOT - CANNOT LOAD OPERATING SYSTEM. In Ordnung. Damit hatte ich nicht gerechnet. MBR kaputt? Wodurch? Grafiktreiberinstallation? Gut, kein Problem. Habe mit der Super Grub Disk mein Ubuntu gebootet und mit update-grub das kleine Malheur bereinigt. Zurück in XP: Ich benötige von Motorola einen Treiber für die USB-Verbindung vom Handy zum PC. Nachdem ich ihn mir heruntergeladen hatte (Motorola_Phone_treiber_Blah_irgendwas.exe) habe ich beim beherzten Doppelklick noch gedacht: "Ach ja, das ist schon besser als unter Linux. *Wenn* man unter Linux Treiberprobleme hat, dann aber so richtig". Kaum zuende gedacht ein Popup: "Cannot write file. Volume not found C:\". Fuck. Da ich XP im freien Platz hinten auf meiner Platte installiert hatte (vorne ist ja bereits Ubuntu), hat Windows den Laufwerksbuchstaben H: bekommen. Der Treiber installiert sich wohl nur auf C:\. Ich habe mir winrar besorgt und die exe ausgepackt. Darin: Keine .inf nur kryptischer Installer-Mist. Danach habe ich Foren gewälzt. Angeblich bringe das "Motorola Software Update", ein Updatetool für Motorola-Software und Geräte, auch eine Treiberinstallation mit sich. Also gut. Ich installiere es. Es benötigt "Windows Installer 3.1". Den gibts über Windows Update. Ich kriege den Installer 3.1 und Windows Genuine Advantage, mein proprietäres Vorteilspaket. REBOOT. Ich versuche erneut das "Motorola Software Update" zu installieren. Diesmal fehlt .NET. Ich lade es runter, fette 66MB. Die Installation dauert ungefähr 10 Minuten. Eine freundliche Meldung währenddessen sagt: "Der Download ist abgeschlossen, Sie können die Verbindung zum Internet nun trennen" Ich komme mir vor wie auf einer Zeitreise. Die Verbindung trennen? Lol! Der Updater läuft jetzt und installiert wohl auch einige Treiber. Windows beginnt sofort ungefragt Photos von meinem Handy herunterzuladen und eine Digitalkamera wird erkannt. Der Treiber zum flashen war aber wohl leider nicht dabei. Das Tool erkennt mein Handy nach wie vor nicht. Als letzten Ausweg versuche ich den Laufwerksbuchstaben von H: auf C: zu ändern. Microsoft sagt, dass es nicht geht und dass es nicht empfohlen wird. Ich fummele in der Registry herum. REBOOT. Hübsches Windows XP Logo. Leider für 4 Minuten. Windows bootet nicht mehr. Ich werde wohl meine ganzen Partitionen nach hinten verschieben müssen und danach noch einmal Windows installieren müssen. Nur damit Windows C:\ als Laufwerksbuchstabe bekommt, um einen Treiber installieren zu können. Krank oder?</p>
<p>Ein Tag später. Mein Ehrgeiz wurde geweckt. Ich verkleinere, verschiebe, kopiere meine Partitionen, bis sie alle hinten auf der Platte liegen. GParted braucht 3 Stunden dafür. Ich boote mit einer Live-CD, mounte meine root-Partition, chroote in sie rein und installiere Grub neu. Ubuntu läuft wieder. Ich mache mich also daran XP nochmal zu installieren. Diesmal an den Anfang der Platte. Leider will XP die Installation am Anfang der Platte wieder auf H:\ ausführen. Es geht wohl nicht um die Reihenfolge der Partitionen auf der Platte sondern um die Reihenfolge in der Partitionstabelle. Wieder was gelernt. Ich könnte Windows auf C :\ installieren, das ist aber  eigentlich mein sda1 auf dem meine root-Partition liegt. Ich will Windows nicht mein Ubuntu killen lassen. Ich boote erneut mit der Live-CD und mache mit partimage ein Backup meiner root-Partition um es nach der XP-Installation wieder in eine neue Partition zurückspielen zu können. Ich starte mal wieder das XP Setup. Jetzt bin ich völlig verwirrt.Der freie Platz am Anfang der Platte heisst jetzt doch C:\. Warum das? Ich hatte an den Partitionen nichts mehr geändert. Ich bekomme so langsam aber sicher das Gefühl, dass ich an irgendeiner  Stelle dieser Odysee etwas hätte schlauer machen können. Ich gähne mich durch die erneute XP-Installation. Mann, warum müssen sie mitten in der Installation die Fragen stellen und nicht einfach ganz am Anfang. Man muß daneben sitzen. XP ist wieder da. Auf C:\. Ich installiere den LAN Treiber und den VGA-Treiber. REBOOT. CANNOT LOAD OPERATING SYSTEM. Na ja. Kenne ich ja schon. Vielleicht bin ich in einer Windows-Support Endlosschleife in der Hölle. REBOOT.  Also nochmal die Super Grub Disk und update-grub &amp;&amp; grub-install. REBOOT. Zurück in XP. "Ihr Computer ist eventuell gefährdet" - da bin ich mir sicher. Ich sauge mir erneut den Motorola-USB-Treiber. Geschafft. Es funktioniert. Was für ein Krampf.</p>
<p>Nachtrag: Ein befreundeteter Windows-Admin hat mir erzählt, wie ich es mir viel einfacher hätte machen können: ein "subst h: c:\" hätte vor der Installation des Treibers gereicht. Ich Windows-DAU! <img src='http://www.daniel-ritter.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/ein-lustiger-windowsausflug/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Howto Spickzettel: Debian Lenny Mailserver: Postfix-SSL Courier-SSL SASL TLS MD5-CRAM VirtualAliases Procmail ClamAV Spamassassin</title>
		<link>http://www.daniel-ritter.de/blog/spickzettel-debian-lenny-mailserver-postfix-ssl-courier-ssl-sasl-tls-md5-cram-virtualaliases-procmail-clamav-spamassassin</link>
		<comments>http://www.daniel-ritter.de/blog/spickzettel-debian-lenny-mailserver-postfix-ssl-courier-ssl-sasl-tls-md5-cram-virtualaliases-procmail-clamav-spamassassin#comments</comments>
		<pubDate>Sat, 27 Mar 2010 01:09:19 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[clamav]]></category>
		<category><![CDATA[courier]]></category>
		<category><![CDATA[cram-md5]]></category>
		<category><![CDATA[mailserver]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[sasl]]></category>
		<category><![CDATA[spamassassin]]></category>
		<category><![CDATA[spickzettel]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[tls]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=276</guid>
		<description><![CDATA[Ich hatte immer mal wieder mit Mailservern zu tun. Leider war ich häufiger etwas verwirrt, da - je nach Setup - sehr viele verschiedene Komponenten miteinander kommunizieren müssen. Aus diesem Grund hier mein Spickzettel für einen Mailserver auf einem Internethost mit FQDN. Ausprobiert wurde es auf einem Debian Lenny. Alle Verbindungen nach außen sind verschlüsselt [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/03/debian_lenny_mailserver.jpg"><img class="aligncenter size-full wp-image-292" title="debian_lenny_mailserver" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/03/debian_lenny_mailserver.jpg" alt="" width="600" height="449" /></a></p>
<p>Ich hatte immer mal wieder mit Mailservern zu tun. Leider war ich häufiger etwas verwirrt, da - je nach Setup - sehr viele verschiedene Komponenten miteinander kommunizieren müssen. Aus diesem Grund hier mein Spickzettel für einen Mailserver auf einem Internethost mit FQDN. Ausprobiert wurde es auf einem Debian Lenny.</p>
<p>Alle Verbindungen nach außen sind verschlüsselt oder mit MD5-Cram Pasword Hashes verschleiert. Eingehende Mail wird auf Spam und Viren geprüft und Benutzer können ihre Mail über IMAP lesen.</p>
<p>Im Bild oben sind<span style="color: #ffcc00;"> Daemons gelb</span>, <span style="color: #999999;">Datenbanken grau</span> und <span style="color: #339966;">gesichtere Verbindungen grün</span>.</p>
<p><span style="text-decoration: underline;">Was machen die einzelnen Komponenten?</span></p>
<ul>
<li><strong>Postfix</strong> empfängt Mails, die Clients versenden wollen. Diese leitet er weiter an den richtigen Server im Internet. Außerdem entfängt Postfix Mails aus dem Internet für Benutzer mit Mailboxen auf dem Server.</li>
<li><strong>VirtualAliases(Teil von Postfix) </strong> ist eine Datenbank mit der Postfix empfangene Mails den einzelnen Mailusern zuordnen kann.</li>
<li><strong>Saslauthd </strong>authentifiziert User die Mail über Postfix per SMTP verschicken wollen. Er überprüft Username und Passwort mit MD5-Cram Hashes.</li>
<li><strong>Sasldb </strong>ist die Datenbank, aus der Saslauthd Usernamen und Passwörter anfragen kann.</li>
<li><strong>Courier-IMAP </strong>stellt dem Mailclient eines Nutzers die Mails aus seinem Maildir zur Verfügung</li>
<li><strong>Courier-Authdaemon </strong>authentifiziert  User, die Mail über den Courier-IMAP lesen. Er überprüft Username und Passwort mit MD5-Cram Hashes.</li>
<li><strong>Userdb (Teil von Courier) </strong>ist die Datenbank, aus der Courier-Authdaemon Usernamen und Passwörter anfragen kann.</li>
<li><strong>Procmail</strong> ist ein Filter, durch den jede eingehende Mail laufen muss. Procmail reicht die Mail an den Spamfilter und den Virenscanner durch und liefert sie danach an den User aus.</li>
<li><strong>Clamassassin </strong>ist ein kleines Tool, das eine Schnittstelle zwischen Procmail und ClamAV bildet. Es reicht die Mails nur durch an ClamAV.</li>
<li><strong>Spamassassin (spamd) </strong>Spamchecker. Gibt jeder Mail einen Score, der aussagt wie wahrscheinlich es ist, dass die überprüfte Mail SPAM ist.</li>
<li><strong>Maildir Mailbox </strong>Hier liegen die Mails der Benutzer des Systems. Es ist ein normales Verzeichnis im Dateisystem. IMAP-Clients können sie von hieraus abrufen.</li>
</ul>
<p><span style="text-decoration: underline;">Vorbereitung</span></p>
<p>Alle benötigten Pakete installieren</p>
<pre>apt-get update &amp;&amp; apt-get upgrade
apt-get install postfix postfix-doc postfix libsasl2-2 sasl2-bin libsasl2-modules courier-imap-ssl procmail spamassassin clamav clamassassin</pre>
<p>Konfigfragen von Courier</p>
<ul>
<li>Verzeichnisse für WWW-Administration? Nein</li>
</ul>
<p>Konfigfragen von Postfix</p>
<ul>
<li>Internet-Server</li>
<li>E-Mail-Name:  Der per DNS auflösbare FQDN des Servers (z.B. meinedomain.de)</li>
</ul>
<p>Konfiguration von Postfix fortsetzten</p>
<pre>dpkg-reconfigure postfix</pre>
<p>Weitere Konfigfragen von Postfix</p>
<ul>
<li>Internet-Server</li>
<li>An wen sollen Mails für root weitergeleitet werden: Nichts eintragen, kommt später.</li>
<li>Rechner für die dieser Rechner als Zielsystem gilt: Alle Domains die mit Postfix Mails empfangen können und die einen DNS-Eintrag für die IP des Servers haben. (z.B. meinedomain.de, meinanderedomain.de, meinedrittedomain.de)</li>
</ul>
<p><span style="text-decoration: underline;">Postfix</span></p>
<p>Configdatei für Postfix</p>
<pre># /etc/postfix/main.cf

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
append_dot_mydomain = no
readme_directory = /usr/share/doc/postfix                                 

# TLS aktivieren
smtpd_use_tls=yes                                                         

smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
myhostname = meinedomain.de
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = meinedomain.de, meineanderedomain, meinedrittedomain , localhost, 127.0.0.1
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
inet_protocols = ipv4

# Auth über SASL
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
# Nur User Mail versenden lassen, die in SASL-DB stehen, nur MD5-Passwörter erlauben
smtp_sasl_security_options = noanonymous, noplaintext

# Nur Localhost (mynetworks) und über SASL angemeldete User dürfen Mails verschicken
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_sasl_local_domain =

# Nur verschlüsselt Authentifizieren mit TLS
smtp_tls_auth_only = yes

#TLS aktivieren
smtp_use_tls = yes
smtpd_use_tls = yes
smtp_tls_note_starttls_offer = yes

# Selbstgenerierter Schlüssel und das Zertifikat
smtpd_tls_key_file = /etc/postfix/cert/smtpd.key
smtpd_tls_cert_file = /etc/postfix/cert/smtpd.crt
smtpd_tls_CAfile = /etc/postfix/cert/cacert.pem

# SPäter auf 0 setzen, gut zum debuggen
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

# Mails in Maildirs ausliefern
home_mailbox = Maildir/

# Dateiname der Virtual-Alias-Map mit der Zuordnung von E-Mail-Adresse zu lokaler Mailbox
virtual_alias_maps = hash:/etc/postfix/virtual

# Mail wird nicht direkt in Mailboxen gelegt sondern an Procmail übergeben
mailbox_command = procmail -a "$EXTENSION"</pre>
<p><span style="text-decoration: underline;">SASL</span></p>
<p>SASL stellt für verschiedene Daemons einen Authentifizierungsmechanismus zur Verfügung. In diesem Setup werden in einer SASL-Datenbank die Benutzer gespeichert, die über unseren Postfix Post verschicken dürfen. (Also der Username und das Passwort, die im E-Mail-Client als Zugangsdaten für den SMTP-Server eingetragen werden müssen)</p>
<p>Konfigdatei für SASL erstellen</p>
<pre># /etc/postfix/smtpd.conf
pwcheck_method: authdaemond
mech_list: CRAM-MD5</pre>
<p>Postfix kann leider noch nicht den saslauthd benutzen um Benutzerdaten zu überprüfen, da Postfix in einer chroot-Umgebung läuft und noch keinen Zugriff auf den saslauthd hat.</p>
<pre># /etc/default/saslauthd
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5

# Mit -m legen wir das Socket von saslauthd in ein Verzeichnis, das Postfix aus dem chroot erreichen kann.
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd"</pre>
<p>Danach muss noch im "start-instance"-Block von /etc/init.d/saslauthd der Ort für die PID geändert werden, auch wieder damit Postfix das PID-File lesen kann.</p>
<pre># /etc/init.d/saslauthd
.
.
PIDFILE="/var/spool/postfix/var/run/${NAME}/saslauthd.pid"
.
.</pre>
<p><span style="text-decoration: underline;">TLS</span></p>
<p>Es können nun keine nicht-authentifizierten Sender mehr Mail über den Postfix SMTP versenden, allerdings gehen die Mails noch im Klartext durch LAN und Internet. Die TLS-Verschlüsselung wurde bereits oben in der Postfix-Konfigdatei main.cf aktiviert. Allerdings fehlen noch Key und Zertifikat.</p>
<pre>mkdir /etc/postfix/cert
cd /etc/postfix/cert

openssl genrsa -des3 -rand /etc/hosts -out ./smtpd.key 1024
chmod 600 ./smtpd.key
openssl req -new -key ./smtpd.key -out ./smtpd.csr
openssl x509 -req -days 99999 -in ./smtpd.csr -signkey ./smtpd.key -out ./smtpd.crt
openssl rsa -in ./smtpd.key -out ./smtpd.key.tmp
mv -f ./smtpd.key.tmp ./smtpd.key
chmod 600 ./smtpd.key
openssl req -new -x509 -extensions v3_ca -keyout ./cakey.pem -out ./cacert.pem -days 99999</pre>
<p><span style="text-decoration: underline;">SASL DB erstellen</span></p>
<p>Mails werden nun bei der Übertragung verschlüsselt, Usernamen und Passwörter für den Mailversand über den SMTP-Server gehen jedoch noch im Klartext durchs Internet. Diese kann man zumindest mit der MD5-Cram-Methode kaschieren. Diese wurde bereits in der /etc/postfix/smtpd.conf aktiviert. Es fehlt nur noch die SASL-Datenbank selbst. Diese legt man an, indem man einfach einem späteren Mailuser einen Usernamen und ein Passwort gibt.</p>
<pre># Für Username einen lokalen Mailuser einsetzen um die SASL-DB zu erstellen mit einem ersten Benutzer
saslpasswd2 <em>username</em></pre>
<p>Postfix ist fertig. Er kann Mails empfangen und verschicken. Verbindungen zu Clients und anderen Mailservern sind verschlüsselt.</p>
<p><span style="text-decoration: underline;">Courier</span></p>
<p>Couriers Konfigdateien</p>
<pre># /etc/courier/authdaemonrc

# UserDB zur authentifizierung benutzen
authmodulelist="authuserdb"

authmodulelistorig="authuserdb authpam authpgsql authldap authmysql authcustom authpipe"
daemons=5
authdaemonvar=/var/run/courier/authdaemon

# Gut zum debuggen
DEBUG_LOGIN=2
DEFAULTOPTIONS=""
LOGGEROPTS=""</pre>
<pre>#/etc/courier/authmodulelist

# courierauthdaemon nutzt MD5-cram
authcram</pre>
<pre># /etc/courier/imapd

ADDRESS=0
PORT=143
MAXDAEMONS=40
MAXPERIP=20
PIDFILE=/var/run/courier/imapd.pid
TCPDOPTS="-nodnslookup -noidentlookup"
LOGGEROPTS="-name=imapd"

#Hier wird AUTH=CRAM-MD5 hinzugefügt

IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 IDLE"

IMAP_KEYWORDS=1
IMAP_ACL=1
IMAP_CAPABILITY_ORIG="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 AUTH=CRAM-SHA1 AUTH=CRAM-SHA256 IDLE"
IMAP_PROXY=0
IMAP_PROXY_FOREIGN=0
IMAP_IDLE_TIMEOUT=60
IMAP_MAILBOX_SANITY_CHECK=1
IMAP_CAPABILITY_TLS="$IMAP_CAPABILITY AUTH=PLAIN"
IMAP_CAPABILITY_TLS_ORIG="$IMAP_CAPABILITY_ORIG AUTH=PLAIN"
IMAP_DISABLETHREADSORT=0
IMAP_CHECK_ALL_FOLDERS=0
IMAP_OBSOLETE_CLIENT=0
IMAP_UMASK=022
IMAP_ULIMITD=65536
IMAP_USELOCKS=1
IMAP_SHAREDINDEXFILE=/etc/courier/shared/index
IMAP_ENHANCEDIDLE=0
IMAP_TRASHFOLDERNAME=Trash
IMAP_EMPTYTRASH=Trash:7
IMAP_MOVE_EXPUNGE_TO_TRASH=0
SENDMAIL=/usr/sbin/sendmail
HEADERFROM=X-IMAP-Sender
IMAPDSTART=YES
MAILDIRPATH=Maildir</pre>
<pre>SSLPORT=993
SSLADDRESS=externe.ip.des.servers
SSLPIDFILE=/var/run/courier/imapd-ssl.pid
SSLLOGGEROPTS="-name=imapd-ssl"
IMAPDSSLSTART=YES
IMAPDSTARTTLS=YES
IMAP_TLS_REQUIRED=1
COURIERTLS=/usr/bin/couriertls
TLS_KX_LIST=ALL
TLS_COMPRESSION=ALL
TLS_CERTS=X509
TLS_CERTFILE=/etc/courier/imapd.pem
TLS_TRUSTCERTS=/etc/ssl/certs
TLS_VERIFYPEER=NONE
TLS_CACHEFILE=/var/lib/courier/couriersslcache
TLS_CACHESIZE=524288
MAILDIRPATH=Maildir

# Auch hier kommt AUTH=CRAM-MD5 hinzu

IMAP_CAPABILITY="IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA AUTH=CRAM-MD5 IDLE"</pre>
<p><span style="text-decoration: underline;">Spamassassin</span></p>
<p>Spamassassin muss aktiviert werden</p>
<pre># /etc/default/spamassassin
ENABLED=1
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
PIDFILE="/var/run/spamd.pid"
CRON=0</pre>
<p><span style="text-decoration: underline;">Procmail</span></p>
<p>Nachdem Postfix Mails aus dem Internet für einen lokalen Benutzer empfangen hat, übergibt er sie an procmail. Procmail wiederum übergibt die Mail an Spamassassin um sie auf Spam zu überprüfen und an clamassassin, der sie weiterreicht an den Virenscanner clamav.</p>
<pre># Eine Beispiel .procmailrc für die Homeverzeichnisse der Mailuser

PATH=$HOME/bin:/usr/bin:/bin:/usr/local/bin:.
MAILDIR=$HOME/Maildir/
DEFAULT=$HOME/Maildir/new
LOGFILE=$HOME/procmail.log

# SPAMASSASSIN
:0fw: /var/run/spam.lock
* &lt; 256000
| spamc -f -u $LOGNAME

# Alle SPAMS mit Score 10-99 gleich weg
:0:
* ^X-Spam-Status: Yes, score=[1-9][0-9]\.
/dev/null

# Alle SPAMS mit Score &gt; 3 gleich weg
#:0:
#* ^X-Spam-Status: Yes, score=[4-9]\.
#/dev/null

:0fw
| /usr/bin/clamassassin

# Rewrite Subject Line, if SpamLevel is high enough.
:0fw
* ^X-Virus-Status: Yes
| sed '1,/^$/s@^Subject:@Subject: /VIRUS!/@'

:0:
* ^X-Virus-Status: Yes
/dev/null

# Move SA SPAM MAILS TO SPAM
:0:
* ^X-Spam-Status: Yes
$MAILDIR/.Spam/new

# Alle Mails die es ohne Blessuren bis hier geschafft haben, landen automatisch in der Inbox des Users. "Sie haben Post!"</pre>
<p><strong>Puh! Das Mailsystem ist fertig! </strong>Es fehlen nur noch Benutzer, die Maildirs und die Konfiguration der Virtual-Aliases um festzulegen welche Email-Adressen in welchen lokalen Mailboxen laden. Das folgende Skript legt den UNIX-Systembenutzer an, und denselben Benutzer noch einmal für Postfix in der SASLdb und für Courier in der Courier-Userdb.</p>
<p>Skript zum anlegen neuer User</p>
<pre># Added einen neuen User zum Mailsystem                      

#!/bin/bash
clear
echo "Neuer User fuer das Mailsystem";
echo "Username eingeben: ";
read newuser                          

echo $newuser &gt;&gt; /root/scripts/mail/mail_users.dat

# Adding Unix User

adduser --ingroup users --quiet --shell /bin/false $newuser

echo
echo "Linux User wurde angelegt....."
echo

# Adding Courier Mailboxes

maildirmake /home/$newuser/Maildir
maildirmake -f Spam /home/$newuser/Maildir
maildirmake -f Virus /home/$newuser/Maildir
maildirmake -f LerneSpam /home/$newuser/Maildir
maildirmake -f LerneKeinSpam /home/$newuser/Maildir
maildirmake -f MeineOrdner /home/$newuser/Maildir
maildirmake -f Sent /home/$newuser/Maildir
maildirmake -f Trash /home/$newuser/Maildir
chown -R $newuser.users /home/$newuser/Maildir
echo
echo "IMAP Mailverzeichnisse wurden angelegt...."
echo

# Setting SASL Password for Postfix SMTP auth

echo
echo
echo "Passwort für SMTP-Auth angeben (Mails verschicken mit dem Client)"
saslpasswd2 $newuser

echo
echo
echo "Passwort für Courier angeben (Zuganspasswort für den IMAPSERVER)"

NEWUID=`cat /etc/passwd | grep $newuser | cut -d: -f3`

userdb $newuser set home=/home/$newuser uid=$NEWUID gid=100
userdbpw -hmac-md5 | userdb $newuser set imap-hmac-md5pw home=/home/$newuser
makeuserdb

/etc/init.d/courier-authdaemon restart
/etc/init.d/saslauthd restart

echo "OK. User angelegt"
echo "Weisen Sie dem neuen User bitte noch E-Mail-Adressen zu!"
echo
echo
echo "Datei /etc/postfix/virtual editieren."
echo "Danach einmalig ausführen: postmap /etc/postfix/virtual"
echo "Danach einmalig ausführen: /etc/init.d/postfix reload"
</pre>
<p>Skript zum löschen von Usern</p>
<pre>echo "Diesen User loeschen:"
read DELUSER

# aus mail_users_dat kriegt lernespam die mailuser
cat /root/scripts/mail/mail_users.dat | grep -v "^$DELUSER$" &gt; /root/scripts/mail/mail_users.dat.tmp
rm /root/scripts/mail/mail_users.dat
mv /root/scripts/mail/mail_users.dat.tmp /root/scripts/mail/mail_users.dat

deluser --remove-home $DELUSER
saslpasswd2 -d $DELUSER
userdb $DELUSER del
makeuserdb
/etc/init.d/courier-authdaemon restart
/etc/init.d/saslauthd restart
</pre>
<p>Skript zum manuellen Spam-lernen</p>
<pre>#!/bin/bash

for user in $(cat /root/scripts/mail/mail_users.dat);
do

SADIR=/home/$user/.spamassassin
NOSPAM=/home/$user/Maildir/.LerneKeinSpam/cur/

for l in $(ls $NOSPAM );
do
PRINT=`cat $NOSPAM/$l | grep -e "^From:" | grep -o "[[:alnum:]\.\+\-\_]*@[[:alnum:]\.\-]*" | sort -u`
echo "whitelist_from $PRINT" &gt;&gt; $SADIR/user_prefs
done

# Let SA learn
/usr/bin/sa-learn -D  --spam /home/$user/Maildir/.LerneSpam/cur
/usr/bin/sa-learn -D  --ham /home/$user/Maildir/.LerneKeinSpam/cur

# Move Stuff
mv /home/$user/Maildir/.LerneKeinSpam/cur/* /home/$user/Maildir/cur/
rm /home/$user/Maildir/.LerneSpam/cur/*

done
exit
</pre>
<p><span style="text-decoration: underline;">Virtual Aliases</span></p>
<p>Unser Postfix weiss noch gar nicht welche E-Mail-Adressen welchen lokalen Mailboxen zugeordnet sind. Diese Zuordnung wird in der Datei /etc/postfix/virtual geschaffen. Links stehen E-Mail-Adressen oder lokale Absender wie "root", rechts steht der Username für die  IMAP-Mailbox oder eine Ziel-E-Mail-Adresse für Weiterleitungen</p>
<pre># /etc/postfix/virtual
root                                        daniel
daniel@meinedomain.de            daniel
daniel@meineanderedomain.de   daniel
fritz@meinedomain.de               fritz
alle@meinedomain.de                daniel,fritz
weiterleitung@meinedomain.de   daniel@gmail.com</pre>
<p>Danach muss Postfix die virtuellen Aliase neu initialisieren. Das ist nach jeder Änderung der Datei notwendig.</p>
<pre>postmap /etc/postfix/virtual</pre>
<p>Jetzt ist wirklich alles fertig. Es müssen noch alle Dienste gestartet werden.</p>
<pre>/etc/init.d/postfix restart
/etc/init.d/courier-imap restart
/etc/init.d/courier-imap-ssl restart
/etc/init.d/courier-authdaemon restart
/etc/init.d/saslauthd restart
/etc/init.d/spamassassin restart
/etc/init.d/clamav restart</pre>
<p>Irgendwas wird sicherlich nicht funktionieren! Zum Debuggen eignet sich /var/log/mail.log ganz gut. In vielen Configdateien kann man das Loglevel hochsetzen um mehr Informationen zu bekommen.</p>
<p><span style="text-decoration: underline;">Transport Maps</span></p>
<p>Um Mails an einen anderen SMTP weiterzurouten, benötigt man Transport-Maps. Sie werden in der Datei /etc/postfix/transport angelegt:</p>
<p><pre>
#/etc/postfix/transport
# Links lokales Ziel
# Rechts SMTP an den weitergeleitet wird

daniel-ritter.de       smtp:12.13.14.15
daniel-ritter.de       smtp:anderer.host.de

# Zusätzlich alle Subdomains
.daniel-ritter.de      smtp:anderer.host.de
</pre>
<p><pre>
#/etc/postfix/main.cf
transport_maps = hash:/etc/postfix/transport
</pre>
<p><pre>
# Aktivieren von Änderungen an den Transportmaps

postmap /etc/postfix/transport
/etc/init.d/postfix reload
</pre>
<p>
<u>Nutzer das Courier-Passwort selbst ändern lassen</u></p>
<pre>
echo "Courier Passwort ändern"
echo

echo
echo "Benutzername: "
read U
echo "Altes Passwort: "
read A
echo "Neues Passwort: "
read N

if [ $(echo $N | grep -e ^[0-9]) ];
then
echo "Entschuldigung. Passwörter dürfen nicht mit einer Zahl beginnen."
exit
fi

echo -e "$U\0$A\0$N\0" | /opt/courierpasswd --verbose --stderr --stdin --changepw
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/spickzettel-debian-lenny-mailserver-postfix-ssl-courier-ssl-sasl-tls-md5-cram-virtualaliases-procmail-clamav-spamassassin/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Keep it simple &#8211; Very basic iptables</title>
		<link>http://www.daniel-ritter.de/blog/keep-it-simple-very-basic-iptables</link>
		<comments>http://www.daniel-ritter.de/blog/keep-it-simple-very-basic-iptables#comments</comments>
		<pubDate>Tue, 23 Mar 2010 01:52:41 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[secure shell]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=249</guid>
		<description><![CDATA[Iptables können ziemlich verwirrend sein. Deshalb habe ich, um einen Grundstock zu schaffen, ein ganz simples Skript gebastelt. Standardmässig sind keine Ports von außen erreichbar, gewünschte Ports müssen explizit freigegeben werden. Von innen initiierte Verbindungen funktionieren, Verbindungen mit den freigegebenen Ports auch. Kann man es noch weiter vereinfachen? #!/bin/bash # alle bestehenden Regeln löschen iptables [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/03/muro_secco-big.jpg"><img class="size-medium wp-image-254 alignright" title="muro_secco-big" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2010/03/muro_secco-big-300x200.jpg" alt="" width="252" height="168" /></a></p>
<p>Iptables können ziemlich verwirrend sein. Deshalb habe ich, um einen Grundstock zu schaffen, ein ganz simples Skript gebastelt. Standardmässig sind keine Ports von außen erreichbar, gewünschte Ports müssen explizit freigegeben werden. Von innen initiierte Verbindungen funktionieren, Verbindungen mit den freigegebenen Ports auch. Kann man es noch weiter vereinfachen?</p>
<p><pre><span style="color: #000080;">#!/bin/bash</span>
<span style="color: #000080;">
# alle bestehenden Regeln löschen
iptables -F

# Standardmässig eingehende Verbindungen verbieten
iptables -P INPUT DROP

# Standardmässig ausgehende Verbindungen erlauben
iptables -P OUTPUT ACCEPT

# Nicht routen
iptables -P FORWARD DROP

# localhost darf alles
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT</span>
<span style="color: #000080;">
# Eingehende Verbindungen für SSH und HTTP erlauben
iptables -A INPUT -j ACCEPT -p tcp --dport 22
iptables -A INPUT -j ACCEPT -p tcp --dport 80

# Eingehende Verbindungen erlauben, die sich auf bestehende Verbindungen
# beziehen. (Damit es nach dem Verbindungsrequest eines Clients auch weitergeht)
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT</span>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/keep-it-simple-very-basic-iptables/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Düsseldorf bei Nacht</title>
		<link>http://www.daniel-ritter.de/blog/dusseldorf-bei-nacht</link>
		<comments>http://www.daniel-ritter.de/blog/dusseldorf-bei-nacht#comments</comments>
		<pubDate>Mon, 22 Mar 2010 00:02:45 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Düsseldorf]]></category>
		<category><![CDATA[Nacht]]></category>
		<category><![CDATA[photos daniel]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=208</guid>
		<description><![CDATA[Versuche mit einer Canon Powershot S80]]></description>
			<content:encoded><![CDATA[<p>Versuche mit einer Canon Powershot S80<br />

<div class="ngg-galleryoverview" id="ngg-gallery-1-208">

	<!-- Slideshow link -->
	<div class="slideshowlink">
		<a class="slideshowlink" href="http://www.daniel-ritter.de/blog/dusseldorf-bei-nacht?show=slide">
			[Zeige als Diashow]		</a>
	</div>

	<!-- Piclense link -->
	<div class="piclenselink">
		<a class="piclenselink" href="javascript:PicLensLite.start({feedUrl:'http://www.daniel-ritter.de/blog/wp-content/plugins/nextgen-gallery/xml/media-rss.php?gid=1&amp;mode=gallery'});">
			[Mit PicLens anzeigen]		</a>
	</div>
	
	<!-- Thumbnails -->
		
	<div id="ngg-image-1" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-10.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-10" alt="IMG_0059-10" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-10.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-2" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-11.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-11" alt="IMG_0059-11" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-11.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-3" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-12.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-12" alt="IMG_0059-12" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-12.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-4" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-13.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-13" alt="IMG_0059-13" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-13.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-5" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-14.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-14" alt="IMG_0059-14" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-14.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-6" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-15.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-15" alt="IMG_0059-15" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-15.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-7" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-16.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-16" alt="IMG_0059-16" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-16.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-8" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-17.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-17" alt="IMG_0059-17" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-17.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-9" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-2.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-2" alt="IMG_0059-2" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-2.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-10" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-7.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-7" alt="IMG_0059-7" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-7.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 		
	<div id="ngg-image-11" class="ngg-gallery-thumbnail-box"  >
		<div class="ngg-gallery-thumbnail" >
			<a href="http://www.daniel-ritter.de/blog/wp-content/gallery/test/IMG_0059-8.JPG" title=" " class="shutterset_set_1" >
								<img title="IMG_0059-8" alt="IMG_0059-8" src="http://www.daniel-ritter.de/blog/wp-content/gallery/test/thumbs/thumbs_IMG_0059-8.JPG" width="100" height="75" />
							</a>
		</div>
	</div>
	
		
 	 	
	<!-- Pagination -->
 	<div class='ngg-clear'></div>
 	
</div>

</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/dusseldorf-bei-nacht/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Screencast Ubuntu 10.04 &#8220;Lucid Lynx&#8221; Beta 1</title>
		<link>http://www.daniel-ritter.de/blog/screencast-ubuntu-10-04-lucid-lynx-beta-1</link>
		<comments>http://www.daniel-ritter.de/blog/screencast-ubuntu-10-04-lucid-lynx-beta-1#comments</comments>
		<pubDate>Sat, 20 Mar 2010 00:18:07 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[screencast]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=200</guid>
		<description><![CDATA[Ein kleiner Screencast zur neuen Lucid Beta. Ich schaue mir den Desktop und einige neue Features an.]]></description>
			<content:encoded><![CDATA[<p>Ein kleiner Screencast zur neuen Lucid Beta. Ich schaue mir den Desktop und einige neue Features an. </p>
<p>
<embed src="http://blip.tv/play/AYHO82oA" type="application/x-shockwave-flash" width="320" height="270" allowscriptaccess="always" allowfullscreen="true"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/screencast-ubuntu-10-04-lucid-lynx-beta-1/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>When computers were young and angry</title>
		<link>http://www.daniel-ritter.de/blog/when-computers-were-young-and-angry</link>
		<comments>http://www.daniel-ritter.de/blog/when-computers-were-young-and-angry#comments</comments>
		<pubDate>Sat, 28 Nov 2009 16:07:23 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=183</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="attachment wp-att-187 centered" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/10-burroughs-angy-young-computer3.jpg" alt="10-burroughs-angy-young-computer3" width="347" height="500" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/when-computers-were-young-and-angry/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Ubuntu 9.10 Karmic Koala annoyances and how i fixed them</title>
		<link>http://www.daniel-ritter.de/blog/my-karmic-koala-annoyances-and-how-i-fixed-them</link>
		<comments>http://www.daniel-ritter.de/blog/my-karmic-koala-annoyances-and-how-i-fixed-them#comments</comments>
		<pubDate>Wed, 25 Nov 2009 17:31:58 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[9.10]]></category>
		<category><![CDATA[bugs]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[freq]]></category>
		<category><![CDATA[karmic]]></category>
		<category><![CDATA[koala]]></category>
		<category><![CDATA[temperature]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=163</guid>
		<description><![CDATA[Lets face the truth. Desktop Linux has made an incredible progress in the last few years. It still gives you all the freedom, happiness and elegance it inherited from it's UNIX-foundation - and it tries hard to compete with the Windows Plug-And-Play mentality. The standard user shouldn't need to do complicated things on the console. [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><a title="Patching the Koala" rel="lightbox[pics163]" href="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/patching_the_koala.jpg"><img class="attachment wp-att-164  alignnone" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/patching_the_koala.jpg" alt="Patching the Koala" width="201" height="252" /></a></p>
<p style="text-align: left;">Lets face the truth. Desktop Linux has made an incredible progress in the last few years. It still gives you all the freedom, happiness and elegance it inherited from it's UNIX-foundation - and it tries hard to compete with the Windows Plug-And-Play mentality.</p>
<p style="text-align: left;">The standard user shouldn't need to do complicated things on the console. Basic things should just work. Especially Ubuntu did great, they really improved many GUI aspects of the GNOME-desktop. Most modern machines run and work just "out of the box" with a fresh Ubuntu install. BUT there are still these little annoyances and things that don't work as expected. I will collect my personal annoyances with Ubuntu 9.10 "Karmic Koala" in this post and add solutions, if I find them.</p>
<p style="text-align: left;">
<p style="text-align: left;"><strong>Annoyance #1<br />
Logs are spammed with messages about CPU temperature</strong></p>
<p style="text-align: left;">This one is an ugly one. It started for me with Karmic. <em>/var/log/kern.log</em> and <em>/var/log/syslog</em> got spammed with millions of messages from the kernel stating things like:</p>
<p><span style="color: #808000;"><em><code>CPU0: Temperature above threshold, cpu clock throttled (total events = 208[ 8973.550089] CPU0: Temperature/speed normal</code></em></span></p>
<p><span style="color: #808000;"><em><code>CPU0: Temperat cpu clock throttled (total events = 2080190)</code></em></span><br />
This was a real problem, because about 100 messages per second were written to the logs, making them hard to read for other purposes. Syslog archiving them pushed my CPU to 100% and they filled up my root partition very quickly. This behaviour seems to originate from a kernel bug that should be fixed anytime soon. There is an Ubuntu Bug-Report on the problem already:<a href="https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/453444"> https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/453444</a>. There is no real fix for it, as this is a kernel bug, but there is a workaround that fixed the odd behaviour of my system. I just disabled the logging of lines, that contain the bogus information:</p>
<ul>
<li>Create a file /etc/rsyslog.d/10-temperature.conf</li>
<li>Paste the following code into it:<span style="color: #99cc00;">:msg,contains,"Temperature/speed normal" ~<br />
:msg,contains,"Temperature above threshold" ~</span></li>
</ul>
<ul>
<li><span style="color: #99cc00;"><span style="color: #000000;">Save it</span></span></li>
<li><span style="color: #99cc00;"><span style="color: #000000;">Do an <span style="color: #99cc00;">sudo restart rsyslog <span style="color: #000000;">to make the new rule active.</span></span></span></span></li>
</ul>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;"><span style="color: #99cc00;"><strong><span style="color: #000000;">Annoyance #2<br />
CPU Frequency Scaling Monitor didn't remember my password</span></strong></span></p>
<p style="text-align: left;">There is a very useful little applet for the Gnome panel, that allows you to change the speed of your CPU while working. As I am using a notebook most of the time, this thingy came in quiet handy for me. Because changing of the CPU policy requires root-privileges, you had to enter your password once with old Ubuntu versions. After that you were able to check a checkbox and Ubuntu remembered your policy. Things changed in Karmic. With the new policykit2 environment, there was no possibility anymore to remember the password. I had to reenter it every time i wanted to change my CPU policy. I found out, that I could set the permisson right in the config files for policykit2:</p>
<ul>
<li>Create a file  /var/lib/polkit-1/localauthority/50-local.d/gnome-cpufreq.pkla</li>
<li>Paste the following code into it (be sure to replace YOURUSERNAME with your username):<span style="color: #99cc00;">[Allow users to set the CPU frequency]<br />
Identity=unix-group:YOURUSERNAME<br />
Action=org.gnome.cpufreqselector<br />
ResultAny=no<br />
ResultInactive=no<br />
ResultActive=yes</span></li>
</ul>
<ul>
<li><span style="color: #99cc00;"><span style="color: #000000;">Save it</span></span></li>
<li><span style="color: #99cc00;"><span style="color: #000000;">There is no password needed anymore for changing CPU policies</span></span></li>
</ul>
<p><strong> </strong></p>
<p><strong>Annoyance #3<br />
Streamtuner couldn't load the Shoutcast streamlist anymore</strong></p>
<p>This started with Intrepid or so. Shoutcast changed the hostname of it's streamlist-servers. The old hostname seems to be hardcoded into Streamtuner, so it couldn't get the streamlist anymore. This was  unconvenient  for me, because i got used to tune into my favourite internet radio stations (like <a href="http://www.myspace.com/lemixx">Lemixx Paris France</a>) with Streamtuner. There seems to be no effort to fix this in the Ubuntu package, as the bug is now several months old already. I fixed it by adding the right IP to <em>/etc/hosts</em>.</p>
<ul>
<li>Open up /etc/hosts with a text editor</li>
<li>Add the following line to it:<span style="color: #99cc00;">205.188.234.120 www.shoutcast.com</span></li>
</ul>
<ul>
<li><span style="color: #99cc00;"><span style="color: #000000;">Save it</span></span></li>
<li><span style="color: #99cc00;"><span style="color: #000000;">Streamtuner can access Shoutcast streams again<span style="color: #99cc00;"><span style="color: #000000;"> </span></span></span></span></li>
</ul>
<p><strong>Annoyance #4<br />
USB Startup Disk Creator is unable to create an USB Startup Disk</strong></p>
<p>Ubuntu brings it's own tool to clone itself onto an USB flashdrive. You basicly get a fully working Ubuntu Installation on your flashdrive. A very useful thingy to carry around if you want to connect to the internet from untrusted machines or if you want to fix a brokeen down computer. So far so good, it didn't work. When you start the USB Startup Disk Creator from Ubuntus menu, the tool starts but is unable to format or write to partitions on your flashdrive. The solution is surprisingly simple: It needs to be run as root to make it work:</p>
<ul>
<li>Open up a terminal</li>
<li>Enter the following command:<br />
<span style="color: #99cc00;">sudo usb-creator-gtk</span></li>
<li><span style="color: #99cc00;"><span style="color: #000000;">Create and enjoy your flashdrive</span><br />
</span></li>
</ul>
<p><strong>Annoyance #5<br />
Couldn't click on any web link in Pokerstars with wine</strong></p>
<p>Poker is one of my hobbies and the guys from Pokerstars did a great job on making it a good experience on Linux with wine too. There are a few downgrades though. When clicking on links in the Pokerstars software, no webbrowser opened up in Gnome. You need to edit the registry to fix that.</p>
<ul>
<li>Run <span style="color: #99cc00;">wine regedit</span> <span style="color: #000000;">to open the registry editor</span></li>
<li><span style="color: #000000;">Navigate to <em> </em></span><em>HKEY_CLASSES_ROOT\http\shell\open\command</em></li>
<li>Add a "%1" after -nohome in that registry key</li>
<li>Links work now in Pokerstars</li>
</ul>
<p><strong>Annoyance #6<br />
Couldn't make Pokerstars tables fullscreen with wine</strong></p>
<p>Another Pokerstars problem. Scaling tables didn't work well. There was no way to make a table fullscreen. There is a way to fix that, implemented espcially for wine users by Pokerstars.</p>
<ul>
<li>Open up the file user.ini in your Pokerstars directory ($HOME/.wine/Program....)</li>
<li>Add a line with  <span style="color: #99cc00;">f5redrawtable=1 <span style="color: #000000;">to the file</span></span></li>
<li><span style="color: #99cc00;"><span style="color: #000000;">Save it</span></span></li>
<li><span style="color: #99cc00;"><span style="color: #000000;">Tables are redrawn now after resizing them when you press F5<br />
</span></span></li>
</ul>
<p><strong>Annoyance #7<br />
Skype didn't show video on my Logitech Qucikcam Chat<br />
</strong></p>
<p>Skype detected my cam as /dev/video0 but was unable to grab pictures from it. The video window just stayed in plain old black</p>
<p>I started Skype with -&gt; LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype  to fix it.</p>
<p>To be continued...</p>
<p style="text-align: left;">
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/my-karmic-koala-annoyances-and-how-i-fixed-them/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>6 Useful Things You Can Do With SSH</title>
		<link>http://www.daniel-ritter.de/blog/6-useful-things-you-can-do-with-ssh</link>
		<comments>http://www.daniel-ritter.de/blog/6-useful-things-you-can-do-with-ssh#comments</comments>
		<pubDate>Thu, 19 Nov 2009 02:11:11 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[prox]]></category>
		<category><![CDATA[secure shell]]></category>
		<category><![CDATA[socks]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[tunnel]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=148</guid>
		<description><![CDATA[SSH must be my favourite piece of software ever. It's free, it gives you freedom, it's simple to use yet powerful in the things it can do. It helps you to encrypt and secure your communication. It can do this in an universal way and for nearly every usage case. In this post, I want [...]]]></description>
			<content:encoded><![CDATA[<p>SSH must be my favourite piece of software ever. It's free, it gives you freedom, it's simple to use yet powerful in the things it can do. It helps you to encrypt and secure your communication. It can do this in an universal way and for nearly every usage case. In this post, I want to show you 6 things you can do with SSH without too much hassle. SSH can do more than just serve as an encrypted remote session. Try the following examples for yourself and explore the power of the Secure Shell.</p>
<p><strong>Thingy #1 - A secure remote shell</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_console1.jpg" alt="ssh_console1" /></p>
<p>OK, this is the most obvious thing you can do with SSH and i bet most of you have already done it: Connect to a remote machine via a SSH-secured connection and type on it's console to administer it.</p>
<p>This is very simple:</p>
<pre>ssh user@box_B</pre>
<p><span style="color: #000000;">This will connect you to Box B as user "user". After having entered your password, you will be able to use BOX B's console.</span></p>
<p>Sometimes you don't want to connect to the remote machine for an interactive session, because you just want to run a single command on the remote machine. In that case you can just do a</p>
<pre>ssh user@box_B command</pre>
<p><span style="color: #000000;">This will connect to Box B as "user", run "command", show you "command"'s output and disconnect.</span></p>
<p><strong>Thingy #2 - Copy files between your boxes</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_copy.jpg" alt="ssh_copy" /></p>
<p>Great, we can administer a remote machine with SSH but we can also move data between machines in an encrypted and secure way. It basicly works like the standard "cp" command, but it has got a different name: "scp"</p>
<pre>scp /home/me/a_file.txt user@box_B:/home/me/</pre>
<p><span style="color: #000000;">This will copy the local file "/home/me/a_file.txt" on our Box A to "/home/me/a_file.txt" on Box B.</span></p>
<p>It will work vice versa as well:</p>
<pre>scp user@box_B:/home/me/b_file.txt /home/me</pre>
<p>This would get the file "/home/me/b_file.txt" and would put in into our home dir on box A.</p>
<p>Because "scp" works like "cp" wildcards are allowed as well:</p>
<pre>scp /var/log/* user@box_B:/home/me/logsbackup</pre>
<p><span style="color: #000000;">This would copy all of the log files from our Box A to "/home/me/logsbackup" on Box B.</span></p>
<p><strong>Thingy #3 - Mount a remote directory into your local file system</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_mount.jpg" alt="ssh_mount" /></p>
<p>Sometimes it's not enough to simply copy one or more files from one machine to another. Mounting a remote directrory into your local filesystem becomes super useful, when you want to work on the remote files with local programs. A good example for this would be working on a remote website. You can simply mount the web-directory from the remote server into your local filesystem and use all your fancy HTML-editors and image-programs on the remote files as if they were on your local harddrive. That's where "sshfs" comes in handy. The tool isn't installed by default in most distributions but you should be able to find it in your repository. On Debian based systems just install it with:</p>
<pre>apt-get install sshfs</pre>
<p><span style="color: #000000;">After having installed sshfs you can start using it:</span></p>
<pre>mkdir /mnt/b_data
sshfs user@box_B:/b_data /mnt/b_data</pre>
<p><span style="color: #000000;">This mounts the directory "/b_data" from box B into "/mnt/b_data" on your local file system. Now you can work on your remote files with local tools. When you are done, you can unmount the directory with:</span></p>
<pre>fusermount -u /mnt/b_data</pre>
<p><span style="color: #000000;">If the unmount fails, check if you have still open files in the directory or if you are still in that directory in some shell or Nautilus/Konqueror window.</span></p>
<p><strong>Thingy #4 - Surf the Web uncensored and anonymously from "critical" locations</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_proxy.jpg" alt="ssh_proxy" /></p>
<p>Corporate policies, fascist governments, internet cafés and other "unfriendly" rules, institutions and places can give you a hard time, when you want to access the web in a secure and private way. Firewalls and proxies may block your favourite sites, log the sites you have visited, perform man in the middle attacks or can just give you a bad feeling. SSH is the solution for these problems. It offers you the possibility to use it as a web-proxy. You simply connect to your good old trusted box B and surf through the encrypted connection.</p>
<p>(Local Browser &lt;-&gt; Local SSH Proxy &lt;-&gt; SSH &lt;-&gt; Box B &lt;-&gt; Website)</p>
<p>Now nobody on your unfriendly local LAN can block or spy on your surfing session.<br />
Sounds good? Great! It's even simple to setup. SSH offers the "-D" option to provide a SOCKS proxy on the local machine:</p>
<pre>ssh -D 1234 user@box_B</pre>
<p>You'll have a proxy listening on localhost port 1234. Now you just have to setup your webbrowser to use the "SOCKS proxy" on localhost port 1234 and all your surfing will go through Box B. You can check if it worked by visiting a website that shows your IP. <a href="http://www.whatismyip.com">http://www.whatismyip.com</a> is a site that would work. If that site shows Box B's IP-address instead of your local one, you setup everything correctly. A portable webbrowser on your USB-pendrive like  <a href="http://portableapps.com/apps/internet/firefox_portable">Portable Firefox</a> would make things even more cozy.</p>
<p><strong>Thingy #5 - Encrypt the data traffic of your favourite local application or access services in LAN's you couldn't reach otherwise with SSH-tunnels<br />
</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/ssh_tunnel_l.jpg" alt="ssh_tunnel_l" /></p>
<p>OK, we encrypted remote admin-sessions, copied files securely and even surfed the web in a private way. But SSH can do more. You can encrypt the traffic of every application that uses the TCP-protocol with SSH tunnels. Like with our SOCKS-proxy, we can tunnel other data through ssh, for example the traffic of our e-mail client. Lets say you want to pickup your e-mail while being in a "critical" environment. Bad corporations / governments / script kiddies could read your email and even worse could sniff your e-mail password. SSH helps. The syntax for tunnels in SSH might puzzle your brain at first sight, but it's not too hard:</p>
<pre>ssh -L local_port:target_host:target_port user@box_B</pre>
<p style="padding-left: 30px;"><span style="color: #000000;">for example</span></p>
<pre>ssh -L 10000:pop3.mailprovider.com:110 user@box_B</pre>
<p>OK, lets see what happened here. We told ssh to create a tunnel with a local (-L) endpoint at port "10000". Everything that is put into our local endpoint goes first encrypted to our Box B and after that to "pop3.mailprovider.com" on port 110 (which is POP3). You relay all data that goes into our local endpoint in an encrypted way via Box B to your E-Mail provider. In this example you would set the POP-account in your e-mail client to "localhost" port "10000". It doesn't have to be e-mail. Any other application that uses a protocol utilizing TCP works as well. For example IRC, FTP, HTTP, IMAP, you name it...</p>
<p>in case you are running your own server-service on Box B, "target host" can be Box B itself of course:</p>
<pre>ssh -L 10000:127.0.0.1:110 user@box_B</pre>
<p><span style="color: #000000;">Target host in this example is "127.0.0.1" because it's the target from Box B's point of view. "127.0.0.1" seen from Box B sure is Box B itself.</span></p>
<p>Tunneling can be useful to secure your services or to connect to services inside BOX B's network. Lets say BOX B is in an intranet that has an interesting webserver on IP "192.168.0.77" and you are unable to access that server from the outside. You just tunnel your way to BOX B and let BOX B forward you to the webserver:</p>
<pre>ssh -L 10000:192.168.0.77:80 user@box_B</pre>
<p>Now typing "http://127.0.0.1:10000" into your local webbrowser will show you the homepage of the intranets webserver.</p>
<p><strong>Thingy #6 - A tunnel the other way around</strong></p>
<p><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/7.jpg" alt="ssh_tunnel_r_good" /></p>
<p>OK, this could have been part of "Thingy #5" but to make things more clear i made an extra point for it. If you understood #5 this should be no problem for you. Here, you open up a "remote" endpoint on Box B. Everything that goes in there is relayed encrypted to Box A (the one you are using at the moment) and after that to the target host.</p>
<pre>ssh -R remote_port:target_host:target_port user@box_B</pre>
<p style="padding-left: 30px;"><span style="color: #000000;">for example</span></p>
<pre>ssh -R 10000:pop3.mailprovider.com:110 user@box_B</pre>
<p>An e-mail client would set "box_B" and port "10000" as the POP3 server. BOX B would relay the traffic to BOX A through SSH. BOX A would relay the traffic to "pop3.mailprovider.com" port "110".</p>
<p><strong>Useful commandline options for SSH</strong></p>
<p>-c "Compress"</p>
<p>The "-c" option in SSH compresses all traffic with gzip before sending it to the remote host. This increases the speed greatly with uncompressed data-types. It's very useful for copying large text-files over SSH or for surfing the web with the "-D" option. In general "-c" never hurts, it just puts a little more pressure onto your CPU.</p>
<pre>ssh -c -D 1234 user@box_B</pre>
<p>-g "Grant Access"</p>
<p>The "-g" option allows other hosts to connect to your local tunnel endpoints. If you don't use "-g" in combination with a tunnel, only your own localhost (Box A in the examples) may use the tunnel.</p>
<pre>ssh -L -g 10000:127.0.0.1:110 user@box_B</pre>
<p>-p "Port"</p>
<p>The "-p" option is needed, if the SSH-server you want to connect to doesn't run on the default port "22"</p>
<pre>ssh -p 22000 user@box_b</pre>
<p>-v "Verbose"</p>
<p>Add this option if you want to dive deeper into SSH. You will see many technical information while connecting to a remote host.</p>
<p><strong>Further reading</strong></p>
<p>I tried to keep this article as simple as possible to make it usable. There is a lot more to know about SSH. If you are looking for a more comprehensive read i suggest you check out these docs:</p>
<p><a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ssh">The SSH man page</a></p>
<p><a href="http://www.ietf.org/rfc/rfc4251.txt">The SSH RFC</a></p>
<p><a href="http://en.wikipedia.org/wiki/Secure_Shell">Wikipedia on SSH</a></p>
<p><a href="http://www.amazon.com/SSH-Secure-Shell-Definitive-Guide/dp/0596008953/ref=sr_1_5?ie=UTF8&amp;s=books&amp;qid=1258596515&amp;sr=8-5">SSH - The Definitive Guide by O'Reilly</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/6-useful-things-you-can-do-with-ssh/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Warum Netzneutralität wichtig ist</title>
		<link>http://www.daniel-ritter.de/blog/warum-netzneutralitat-wichtig-ist</link>
		<comments>http://www.daniel-ritter.de/blog/warum-netzneutralitat-wichtig-ist#comments</comments>
		<pubDate>Fri, 30 Oct 2009 18:36:31 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=145</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;">
<p style="text-align: center;"><a title="netneutral" rel="lightbox[pics145]" href="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/netneutral.jpg"><img class="attachment wp-att-161 centered" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2009/11/netneutral.jpg" alt="netneutral" width="460" height="1024" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/warum-netzneutralitat-wichtig-ist/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tunneling IAX2 VoIP thru a SSH tunnel</title>
		<link>http://www.daniel-ritter.de/blog/tunneling-iax2-voip-thru-a-ssh-tunnel</link>
		<comments>http://www.daniel-ritter.de/blog/tunneling-iax2-voip-thru-a-ssh-tunnel#comments</comments>
		<pubDate>Fri, 12 Dec 2008 16:28:10 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[iax2]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=143</guid>
		<description><![CDATA[Just for the kicks, i tried to connect 2 Asterisk servers thru a SSH tunnel to place encrypted calls via IAX2 from BOX1 to BOX2. It worked, but the sound quality is ugly and the FIFO-nature of converting UDP-traffic into TCP-traffic gave some strange results. But after all I learned a lot doing it.... What [...]]]></description>
			<content:encoded><![CDATA[<p><a title="IAX2 SSH Tunnel" rel="lightbox[pics143]" href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/12/iax-tunnel.jpg"><img class="attachment wp-att-144 alignleft" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/12/iax-tunnel.jpg" alt="IAX2 SSH Tunnel" width="481" height="231" /></a></p>
<p>Just for the kicks, i tried to connect 2 Asterisk servers thru a SSH tunnel to place encrypted calls via IAX2 from BOX1 to BOX2. It worked, but the sound quality is ugly and the FIFO-nature of converting UDP-traffic into TCP-traffic gave some strange results. But after all I learned a lot doing it....</p>
<p><strong>What we need:</strong></p>
<p>- 2 Asterisk Boxes</p>
<p>- root on BOX2</p>
<p>- ssh</p>
<p>- socat</p>
<p><strong>What I did:</strong></p>
<p>Connect both boxes with a SSH port-forwarding to get the calls thru the internet. Convert the IAX2 UDP-traffic coming from Box1s Asterisk into TCP with socat, because SSH doesn't support UDP tunneling. Send the TCP data thru the tunnel. Pick it up at the other side with socat and convert it back to UDP. Feed the UDP data into the target asterisk.</p>
<p><strong>How I did it:</strong></p>
<p>BOX1:</p>
<p><span class="postbody">context to feed an outbound call into our socat converter:<br />
</span></p>
<p><em><span class="postbody">exten =&gt; 3,1,Dial(IAX2/user:pass@127.0.0.1:10000/1) </span></em></p>
<p>setting up socat:</p>
<p><em>socat udp4-listen:10000,reuseaddr,fork tcp:127.0.0.1:10001</em></p>
<p>setting up our ssh tunnel:</p>
<p><em>ssh -L 10001:127.0.0.1:10000 root@box2</em></p>
<hr />
<p>Box2:</p>
<p>Setting up socat to pick up the TCP-stream from the tunnel and pass it to asterisk:</p>
<p><em>socat tcp4-listen:10000,reuseaddr,fork UDP:127.0.0.1:4569</em></p>
<p><span class="postbody">iax.conf:</span></p>
<p><em>[general]<br />
bindport = 4569<br />
bindaddr = 0.0.0.0<br />
disallow=all<br />
allow=ulaw<br />
allow=alaw</em></p>
<p><em>[box1]<br />
type=peer<br />
username=user<br />
secret=pass<br />
auth=plaintext<br />
context=iax-tunnel<br />
peercontext=iax-tunnel<br />
qualify=yes<br />
trunk=yes </em></p>
<p>The  iax-tunnel context just playing a beep:<br />
<em>; IAX testing<br />
[iax-tunnel]<br />
exten =&gt; 1,1,Answer()<br />
exten =&gt; 1,2,Playback(beep)<br />
exten =&gt; 1,3,Hangup() </em></p>
<p>Enjoy...</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/tunneling-iax2-voip-thru-a-ssh-tunnel/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Der magische Wasserhahn oder: Warum das Geld nach oben fließt</title>
		<link>http://www.daniel-ritter.de/blog/der-magische-wasserhahn</link>
		<comments>http://www.daniel-ritter.de/blog/der-magische-wasserhahn#comments</comments>
		<pubDate>Mon, 24 Nov 2008 16:48:04 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[finanzen]]></category>
		<category><![CDATA[geld]]></category>
		<category><![CDATA[geldschöpfung]]></category>
		<category><![CDATA[weltbank]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=141</guid>
		<description><![CDATA[Es gab einmal einen magischen Wasserhahn in einer Welt ohne Meere, Flüsse, Seen und Regen. Der Hahn war an keine Wasserleitung angeschlossen und trotzdem sprudelte er ständig fidel und glücklich. Das frische Wasser floß wie aus dem Nichts heraus und versorgte die Durstigen. Doch er war auch gierig. Er verschenkte sein Wasser nicht an die [...]]]></description>
			<content:encoded><![CDATA[<p>Es gab einmal einen magischen Wasserhahn in einer Welt ohne Meere, Flüsse, Seen und Regen. Der Hahn war an keine Wasserleitung angeschlossen und trotzdem sprudelte er ständig fidel und glücklich. Das frische Wasser floß wie aus dem Nichts heraus und versorgte die Durstigen. Doch er war auch gierig. Er verschenkte sein Wasser nicht an die Durstigen sondern verlieh es nur. Die Durstigen mußten ihm das Wasser später zurückgeben. Außerdem verlangte er bei der Rückgabe immer etwas mehr Wasser als Leihgebühr. Da der magische Wasserhahn der einzige Wasserhahn der Welt war, war leider niemals genug Wasser da. Auch das zusätzliche Wasser, das ja als Gebühr zusätzlich zurückgegeben werden mußte, konnte man nur aus dem Wasserhahn beschaffen. So kam es, dass immer mehr Leute Wasserschulden hatten, sich immer mehr Leute gegenseitig Wasser stahlen und immer mehr Leute verdursteten.</p>
<p><a title="Der magische Wasserhahn" rel="lightbox[pics141]" href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/11/hahn.jpg"><img class="attachment wp-att-142 alignleft" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/11/hahn.jpg" alt="Der magische Wasserhahn" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/der-magische-wasserhahn/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Der Fischer und der MBA</title>
		<link>http://www.daniel-ritter.de/blog/der-fischer-und-der-mba</link>
		<comments>http://www.daniel-ritter.de/blog/der-fischer-und-der-mba#comments</comments>
		<pubDate>Thu, 23 Oct 2008 17:40:10 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[finanzen]]></category>
		<category><![CDATA[geschichte]]></category>
		<category><![CDATA[politik]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=140</guid>
		<description><![CDATA[Gefunden bei den Diskussionen über den DOW-JONES bei Google Finance, der heute ein neues historisches Tief erreicht hat. An American businessman was at the pier of a small coastal Mexican village when a small boat with just one fisherman docked. Inside the small boat were several large yellowfin tuna. The American complimented the Mexican on [...]]]></description>
			<content:encoded><![CDATA[<p>Gefunden bei den Diskussionen über den DOW-JONES bei Google Finance, der heute ein neues historisches Tief erreicht hat.</p>
<blockquote><p>An American businessman was at the pier of a small coastal Mexican<br />
village when a small boat with just one fisherman docked. Inside the<br />
small boat were several large yellowfin tuna.</p>
<p>The American complimented the Mexican on the quality of his fish and<br />
asked how long it took to catch them. The Mexican replied, "only a<br />
little while." The American then asked why didn’t he stay out longer<br />
and catch more fish? The Mexican said he had enough to support his<br />
family’s immediate needs.</p>
<p>The American then asked, "But what do you do with the rest of your<br />
time?" The Mexican fisherman said, "I sleep late, fish a little, play<br />
with my children, take siesta with my wife, Maria, stroll into the<br />
village each evening where I sip wine and play guitar with my amigos.<br />
I have a full and busy life, senor."</p>
<p>The American scoffed, "I am a Harvard MBA and could help you. You<br />
should spend more time fishing and with the proceeds buy a bigger<br />
boat, with the proceeds from the bigger boat you could buy several<br />
boats, eventually you would have a fleet of fishing boats. Instead of<br />
selling your catch to a middleman you would sell directly to the<br />
processor, eventually opening your own cannery. You would control the<br />
product, processing and distribution. You would need to leave this<br />
small coastal fishing village and move to Mexico City, then LA and<br />
eventually NYC where you will run your expanding enterprise."</p>
<p>The Mexican fisherman asked, "But senor, how long will this all take?"</p>
<p>To which the American replied, "15 or 20 years."</p>
<p>"But what then, senor?"</p>
<p>The American laughed and said, "that’s the best part. When the time is<br />
right you would announce an IPO and sell your company stock to the<br />
public and become very rich, you would make millions."</p>
<p>"Millions, senor? Then what?"</p>
<p>The American said, "Then you would retire. Move to a small coastal<br />
village where you would sleep late, fish a little, play with your<br />
kids, take siesta with your wife, stroll to the village in the<br />
evenings where you could sip wine and play your guitar with your<br />
amigos."</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/der-fischer-und-der-mba/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1 : 649740 Very Very Nice Hand</title>
		<link>http://www.daniel-ritter.de/blog/1-649740-very-very-nice-hand</link>
		<comments>http://www.daniel-ritter.de/blog/1-649740-very-very-nice-hand#comments</comments>
		<pubDate>Mon, 08 Sep 2008 19:58:04 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=138</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/09/rf.jpg" rel="lightbox[pics138]" title="VNH"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/09/rf.jpg" alt="VNH" width="150" height="107" class="attachment wp-att-139 alignleft" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/1-649740-very-very-nice-hand/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GAME OVER</title>
		<link>http://www.daniel-ritter.de/blog/game-over</link>
		<comments>http://www.daniel-ritter.de/blog/game-over#comments</comments>
		<pubDate>Mon, 01 Sep 2008 13:48:03 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Daniel]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=136</guid>
		<description><![CDATA[GAME OVER - Insert Coin(s) - Other Game(s)]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/09/ma.jpg" rel="lightbox[pics136]" title="ma"><img src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/09/ma.jpg" alt="ma" width="800"  class="attachment wp-att-137 alignleft" /></a></p>
<p>GAME OVER - Insert Coin(s) - Other Game(s)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/game-over/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neapel</title>
		<link>http://www.daniel-ritter.de/blog/neapel</link>
		<comments>http://www.daniel-ritter.de/blog/neapel#comments</comments>
		<pubDate>Mon, 16 Jun 2008 19:40:00 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[Tag hinzufügen]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=130</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[
<a href='http://www.daniel-ritter.de/blog/neapel/img_0064' title='Tolle Aussicht'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0064.thumbnail.jpg" class="attachment-thumbnail" alt="Tolle Aussicht" title="Tolle Aussicht" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0065' title='img_0065'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0065.jpg" class="attachment-thumbnail" alt="img_0065" title="img_0065" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0066' title='Der reiche Hügel'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0066.jpg" class="attachment-thumbnail" alt="Der reiche Hügel" title="Der reiche Hügel" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0068' title='img_0068'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0068.jpg" class="attachment-thumbnail" alt="img_0068" title="img_0068" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0069-2' title='img_0069'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0069.thumbnail.jpg" class="attachment-thumbnail" alt="img_0069" title="img_0069" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0070' title='img_0070'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0070.thumbnail.jpg" class="attachment-thumbnail" alt="img_0070" title="img_0070" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0071-2' title='img_0071'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0071.jpg" class="attachment-thumbnail" alt="img_0071" title="img_0071" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0072' title='img_0072'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0072.thumbnail.jpg" class="attachment-thumbnail" alt="img_0072" title="img_0072" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0073' title='img_0073'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0073.thumbnail.jpg" class="attachment-thumbnail" alt="img_0073" title="img_0073" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0074' title='img_0074'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0074.thumbnail.jpg" class="attachment-thumbnail" alt="img_0074" title="img_0074" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0075' title='img_0075'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0075.thumbnail.jpg" class="attachment-thumbnail" alt="img_0075" title="img_0075" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0076' title='img_0076'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0076.thumbnail.jpg" class="attachment-thumbnail" alt="img_0076" title="img_0076" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0077' title='img_0077'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0077.thumbnail.jpg" class="attachment-thumbnail" alt="img_0077" title="img_0077" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0078' title='img_0078'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0078.thumbnail.jpg" class="attachment-thumbnail" alt="img_0078" title="img_0078" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0079' title='img_0079'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0079.thumbnail.jpg" class="attachment-thumbnail" alt="img_0079" title="img_0079" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0080' title='img_0080'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0080.thumbnail.jpg" class="attachment-thumbnail" alt="img_0080" title="img_0080" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0081' title='img_0081'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0081.thumbnail.jpg" class="attachment-thumbnail" alt="img_0081" title="img_0081" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0082' title='img_0082'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0082.thumbnail.jpg" class="attachment-thumbnail" alt="img_0082" title="img_0082" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0083-2' title='img_0083'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0083.thumbnail.jpg" class="attachment-thumbnail" alt="img_0083" title="img_0083" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0084-2' title='img_0084'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0084.thumbnail.jpg" class="attachment-thumbnail" alt="img_0084" title="img_0084" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0086' title='img_0086'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0086.thumbnail.jpg" class="attachment-thumbnail" alt="img_0086" title="img_0086" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0087' title='img_0087'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0087.thumbnail.jpg" class="attachment-thumbnail" alt="img_0087" title="img_0087" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0088' title='img_0088'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0088.thumbnail.jpg" class="attachment-thumbnail" alt="img_0088" title="img_0088" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0089' title='img_0089'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0089.thumbnail.jpg" class="attachment-thumbnail" alt="img_0089" title="img_0089" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0090' title='img_0090'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0090.thumbnail.jpg" class="attachment-thumbnail" alt="img_0090" title="img_0090" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0091' title='img_0091'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0091.thumbnail.jpg" class="attachment-thumbnail" alt="img_0091" title="img_0091" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0092' title='img_0092'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0092.thumbnail.jpg" class="attachment-thumbnail" alt="img_0092" title="img_0092" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0093' title='img_0093'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0093.thumbnail.jpg" class="attachment-thumbnail" alt="img_0093" title="img_0093" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0095' title='img_0095'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0095.thumbnail.jpg" class="attachment-thumbnail" alt="img_0095" title="img_0095" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0096' title='img_0096'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0096.thumbnail.jpg" class="attachment-thumbnail" alt="img_0096" title="img_0096" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0097' title='img_0097'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0097.thumbnail.jpg" class="attachment-thumbnail" alt="img_0097" title="img_0097" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0098' title='img_0098'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0098.thumbnail.jpg" class="attachment-thumbnail" alt="img_0098" title="img_0098" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0100' title='img_0100'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0100.thumbnail.jpg" class="attachment-thumbnail" alt="img_0100" title="img_0100" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0101' title='img_0101'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0101.thumbnail.jpg" class="attachment-thumbnail" alt="img_0101" title="img_0101" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0102' title='img_0102'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0102.thumbnail.jpg" class="attachment-thumbnail" alt="img_0102" title="img_0102" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0103' title='img_0103'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0103.thumbnail.jpg" class="attachment-thumbnail" alt="img_0103" title="img_0103" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0104' title='img_0104'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0104.thumbnail.jpg" class="attachment-thumbnail" alt="img_0104" title="img_0104" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0105' title='img_0105'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0105.thumbnail.jpg" class="attachment-thumbnail" alt="img_0105" title="img_0105" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0106' title='img_0106'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0106.thumbnail.jpg" class="attachment-thumbnail" alt="img_0106" title="img_0106" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0107' title='img_0107'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0107.thumbnail.jpg" class="attachment-thumbnail" alt="img_0107" title="img_0107" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0108' title='img_0108'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0108.thumbnail.jpg" class="attachment-thumbnail" alt="img_0108" title="img_0108" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0109' title='img_0109'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0109.thumbnail.jpg" class="attachment-thumbnail" alt="img_0109" title="img_0109" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0110' title='img_0110'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0110.thumbnail.jpg" class="attachment-thumbnail" alt="img_0110" title="img_0110" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0111' title='img_0111'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0111.thumbnail.jpg" class="attachment-thumbnail" alt="img_0111" title="img_0111" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0112' title='img_0112'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0112.thumbnail.jpg" class="attachment-thumbnail" alt="img_0112" title="img_0112" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0113' title='img_0113'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0113.thumbnail.jpg" class="attachment-thumbnail" alt="img_0113" title="img_0113" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0114' title='img_0114'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0114.thumbnail.jpg" class="attachment-thumbnail" alt="img_0114" title="img_0114" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0115' title='img_0115'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0115.thumbnail.jpg" class="attachment-thumbnail" alt="img_0115" title="img_0115" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0116' title='img_0116'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0116.thumbnail.jpg" class="attachment-thumbnail" alt="img_0116" title="img_0116" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0119' title='img_0119'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0119.thumbnail.jpg" class="attachment-thumbnail" alt="img_0119" title="img_0119" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0120' title='img_0120'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0120.thumbnail.jpg" class="attachment-thumbnail" alt="img_0120" title="img_0120" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0123' title='img_0123'><img width="150" height="112" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0123.thumbnail.jpg" class="attachment-thumbnail" alt="img_0123" title="img_0123" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0124' title='img_0124'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0124.thumbnail.jpg" class="attachment-thumbnail" alt="img_0124" title="img_0124" /></a>
<a href='http://www.daniel-ritter.de/blog/neapel/img_0125' title='img_0125'><img width="112" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/06/img_0125.thumbnail.jpg" class="attachment-thumbnail" alt="img_0125" title="img_0125" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/neapel/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Tag 2008 &#8211; Picture Impressions</title>
		<link>http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions</link>
		<comments>http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions#comments</comments>
		<pubDate>Fri, 30 May 2008 12:55:06 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[berlin]]></category>
		<category><![CDATA[linuxtag]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=67</guid>
		<description><![CDATA[Photos from the 2008 LINUX TAG in Berlin]]></description>
			<content:encoded><![CDATA[
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_00342' title='LINUX TAG 2008 Berlin'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00342-150x150.jpg" class="attachment-thumbnail" alt="LINUX TAG 2008 Berlin" title="LINUX TAG 2008 Berlin" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0008' title='Cathrine Allman Google'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0008-150x150.jpg" class="attachment-thumbnail" alt="Cathrine Allman Google" title="Cathrine Allman Google" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0009' title='Krasser Kontrast: Anzugträger und Buzzwords auf der IT PROFITS nebenan'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0009-150x150.jpg" class="attachment-thumbnail" alt="Krasser Kontrast: Anzugträger und Buzzwords auf der IT PROFITS nebenan" title="Krasser Kontrast: Anzugträger und Buzzwords auf der IT PROFITS nebenan" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0011' title='Knut Yrvin von Trolltech (aquired by Nokia) zeigte Qtopia. '><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0011-150x150.jpg" class="attachment-thumbnail" alt="Knut Yrvin von Trolltech (aquired by Nokia) zeigte Qtopia." title="Knut Yrvin von Trolltech (aquired by Nokia) zeigte Qtopia." /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0015' title='Skynet is online!'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0015-150x150.jpg" class="attachment-thumbnail" alt="Skynet is online!" title="Skynet is online!" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0016' title='The pure beauty of black and white text'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0016-150x150.jpg" class="attachment-thumbnail" alt="The pure beauty of black and white text" title="The pure beauty of black and white text" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0018' title='Cool Lümmel (c) designer seats'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0018-150x150.jpg" class="attachment-thumbnail" alt="Cool Lümmel (c) designer seats" title="Cool Lümmel (c) designer seats" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0020' title='Fedora mit eigener Vortragschiene'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0020-150x150.jpg" class="attachment-thumbnail" alt="Fedora mit eigener Vortragschiene" title="Fedora mit eigener Vortragschiene" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0021' title='linux-gamers.net'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0021-150x150.jpg" class="attachment-thumbnail" alt="linux-gamers.net" title="linux-gamers.net" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_00221' title='O&#039;Reilly Bücher und Freibier nach Geschäftschluß'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00221-150x150.jpg" class="attachment-thumbnail" alt="O&#039;Reilly Bücher und Freibier nach Geschäftschluß" title="O&#039;Reilly Bücher und Freibier nach Geschäftschluß" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0026' title='Mighty PaKo'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0026-150x150.jpg" class="attachment-thumbnail" alt="Mighty PaKo" title="Mighty PaKo" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_00271' title='&quot;You will be spotlighted&quot;'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00271-150x150.jpg" class="attachment-thumbnail" alt="&quot;You will be spotlighted&quot;" title="&quot;You will be spotlighted&quot;" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0028' title='Pinguine'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0028-150x150.jpg" class="attachment-thumbnail" alt="Pinguine" title="Pinguine" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0030' title='Mr. garcia stellte einen last.fm Client für NOKIAs mnemo vor'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0030-150x150.jpg" class="attachment-thumbnail" alt="Mr. garcia stellte einen last.fm Client für NOKIAs mnemo vor" title="Mr. garcia stellte einen last.fm Client für NOKIAs mnemo vor" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0041' title='Novell / SUSE'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0041-150x150.jpg" class="attachment-thumbnail" alt="Novell / SUSE" title="Novell / SUSE" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0042' title='GNOME'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0042-150x150.jpg" class="attachment-thumbnail" alt="GNOME" title="GNOME" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0043' title='AA'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0043-150x150.jpg" class="attachment-thumbnail" alt="AA" title="AA" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0044' title='Africa Power - Ubuntu'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0044-150x150.jpg" class="attachment-thumbnail" alt="Africa Power - Ubuntu" title="Africa Power - Ubuntu" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0046' title='Alle Jahre wieder....'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0046-150x150.jpg" class="attachment-thumbnail" alt="Alle Jahre wieder...." title="Alle Jahre wieder...." /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_00471' title='Alle BSDs unter einem Dach'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00471-150x150.jpg" class="attachment-thumbnail" alt="Alle BSDs unter einem Dach" title="Alle BSDs unter einem Dach" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0051' title='Hach....'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0051-150x150.jpg" class="attachment-thumbnail" alt="Hach...." title="Hach...." /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0052' title='Alte, verbissene Männer.....'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0052-150x150.jpg" class="attachment-thumbnail" alt="Alte, verbissene Männer....." title="Alte, verbissene Männer....." /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0053' title='Multimedia'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0053-150x150.jpg" class="attachment-thumbnail" alt="Multimedia" title="Multimedia" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_00541' title='BSDler'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00541-150x150.jpg" class="attachment-thumbnail" alt="BSDler" title="BSDler" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0055' title='Puffy, Das Open BSD Maskottchen'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0055-150x150.jpg" class="attachment-thumbnail" alt="Puffy, Das Open BSD Maskottchen" title="Puffy, Das Open BSD Maskottchen" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0056' title='Der alte Riese war auch da'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0056-150x150.jpg" class="attachment-thumbnail" alt="Der alte Riese war auch da" title="Der alte Riese war auch da" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0057' title='Noch mehr Pinguine'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0057-150x150.jpg" class="attachment-thumbnail" alt="Noch mehr Pinguine" title="Noch mehr Pinguine" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0058' title='Money makes the world go round....'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0058-150x150.jpg" class="attachment-thumbnail" alt="Money makes the world go round...." title="Money makes the world go round...." /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_00591' title='sidux - Linux on steroids'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00591-150x150.jpg" class="attachment-thumbnail" alt="sidux - Linux on steroids" title="sidux - Linux on steroids" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0060' title='KDE zeigte KDE 4.1'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0060-150x150.jpg" class="attachment-thumbnail" alt="KDE zeigte KDE 4.1" title="KDE zeigte KDE 4.1" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0061' title='Super fetter KDE Pinguin'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0061-150x150.jpg" class="attachment-thumbnail" alt="Super fetter KDE Pinguin" title="Super fetter KDE Pinguin" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0062' title='Politischer Pinguin'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0062-150x150.jpg" class="attachment-thumbnail" alt="Politischer Pinguin" title="Politischer Pinguin" /></a>
<a href='http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/img_0063' title='See you next year!'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0063-150x150.jpg" class="attachment-thumbnail" alt="See you next year!" title="See you next year!" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/linux-tag-2008-picture-impressions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das Leben hält täglich neue spannende Situationen für uns bereit</title>
		<link>http://www.daniel-ritter.de/blog/das-leben-halt-taglich-spannende-neue-situationen-fur-uns-bereit</link>
		<comments>http://www.daniel-ritter.de/blog/das-leben-halt-taglich-spannende-neue-situationen-fur-uns-bereit#comments</comments>
		<pubDate>Tue, 27 May 2008 20:23:59 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Cartoon]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=30</guid>
		<description><![CDATA[Hier noch ein wenig von meinem Random-Krikel-Krakel in Zeiten großer Langeweile:]]></description>
			<content:encoded><![CDATA[<p>Hier noch ein wenig von meinem Random-Krikel-Krakel in Zeiten großer Langeweile:</p>
<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/spannende_situation.jpg"><img class="aligncenter size-full wp-image-31" title="Das Leben hält täglich neue spannende Situationen für uns bereit" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/spannende_situation.jpg" alt="" width="426" height="600" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/das-leben-halt-taglich-spannende-neue-situationen-fur-uns-bereit/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Der Verlust der Freiheit in der BRD und in der gesamten westlichen Welt</title>
		<link>http://www.daniel-ritter.de/blog/der-verlust-der-freiheit-in-der-brd-und-in-der-gesamten-westlichen-welt</link>
		<comments>http://www.daniel-ritter.de/blog/der-verlust-der-freiheit-in-der-brd-und-in-der-gesamten-westlichen-welt#comments</comments>
		<pubDate>Tue, 27 May 2008 20:16:31 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[politik]]></category>
		<category><![CDATA[Überwachung]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=29</guid>
		<description><![CDATA[In meinem chaotischen Archiv kramend habe ich einen alten Text gefunden den ich ca. 2004 geschrieben habe. Leider ist er inzwischen durch die Realität mehr als bestätigt worden: Als ich 1994 mein Abi bekam, drückte mir unser Rektor ein Grundgesetz in die Hand, faselte etwas von „haltet die Grundfesten unserer Demokratie in Ehren.." und entliess [...]]]></description>
			<content:encoded><![CDATA[<p>In meinem chaotischen Archiv kramend habe ich einen alten Text gefunden den ich ca. 2004 geschrieben habe. Leider ist er inzwischen durch die Realität mehr als bestätigt worden:</p>
<p>Als ich 1994 mein Abi bekam, drückte mir unser Rektor ein Grundgesetz<br />
in die Hand, faselte etwas von „haltet die Grundfesten unserer<br />
Demokratie in Ehren.." und entliess mich in mein weiteres Leben.<br />
Heute, fast 10 Jahre später, erscheint mir dieses GRUNDgesetz wie ein<br />
wertloses Stück Papier, wie ein schlechter Witz, wie eine Ansammlung<br />
von guten Vorsätzen die längst überholt zu sein scheinen und die nicht<br />
wirklich irgendjemanden interessieren. Wieviele Grundrechte sind in<br />
den letzten 10 Jahren ausgehöhlt worden, ohne triftige Gründe.<br />
Inzwischen dürfen wir wieder in den Krieg ziehen um vom grossen<br />
Zerstörungs- und Wiederaufbaukuchen auch ein paar Stücke abzubekommen.<br />
Der Staat darf uns abhören, sogar in unseren Wohnungen, Personen<br />
dürfen auf Bahnhöfen durchsucht werden, Daten werden ohne Verdacht auf<br />
lange Zeit gespeichert, wir alle könnten ja potentielle Terroristen<br />
sein. War in den 90er Jahren der „grosse Lauschangriff" noch ein Thema<br />
das die Gemüter über Monate bewegte, so werden alle neuen<br />
Überwachungsgesetzte die zur Zeit in unsere Gesetzbücher drängen von<br />
der Öffentlichkeit kaum wahrgenommen. Der regelmässige Leser meiner<br />
Seite kann sich fragen, warum in den Mainstream-Medien so gut wie<br />
nichts von dem berichtet wird, was hier zu finden ist. Besteht kein<br />
Interesse mehr an der Freiheit des Bürgers ? Ist das Wort Freiheit<br />
inzwischen nur noch eine gutklingende Floskel der Essenz keinen<br />
Interessiert wenn die gläzende Hülle noch existiert ?</p>
<p>Ich möchte einige bedrohliche Entwicklungen aufzeigen, welche sich in<br />
den letzten 10 Jahren, besonders aber nach dem 11.09.2001 verstärkt<br />
haben. Grundsätzlich ist durch die starke Verbreitung von<br />
Mobiltelefonen ein enormes Überwachungs- und Kontrollpotential<br />
geschaffen worden. Handybenutzer können in Grossstädten auf einige<br />
Meter genau lokalisiert werden, es ist möglich die Telefonbücher von<br />
den SIM-Karten auszulesen, so dass das gesamte Umfeld einer Person<br />
offen liegt. Durch die Möglichkeit der genauen Lokalisation einer<br />
Person ergibt sich die Möglichkeit in Verbindung mit Datenbanken<br />
komplette Bewegungs- und Lebensprofile einzelner Personen zu erstellen<br />
und zu archivieren. Weiterhin besitzen alle neueren Mobiltelefone eine<br />
durch „unsichtbare SMS" aktivierbare „Mithörfunktion". Das heisst,<br />
befähigte Stellen können sogar ausgeschaltete Handies jederzeit in<br />
einen „Wanzenmodus" stellen. Dass Telefongespräche an sich abgehört<br />
werden können (und werden) ist ein „alter Hut" und muss nicht extra<br />
erwähnt werden. Hinzu kommt ein extremer Schwund von der klassischen<br />
Telefonzelle. In einigen Jahren wird man nicht mehr straffrei anonym<br />
telefonieren können, da jedes Handy nach dem Telekommunikationsgesetz<br />
personengebunden bei den Telefongesellschaften registriert werden<br />
muss. Die ganze westliche Welt ist in den letzten Jahren<br />
flächendeckend verwanzt worden. Man kann sich inzwischen in kaum einem<br />
öffentlichen Raum aufhalten in dem niemand ein Mobiltelefon bei sich<br />
trägt. Blinkende Logos, lustige Photos und niedliche SMS-Flirts<br />
versüssen dem Bürger sein liebgewonnenes persöliches<br />
Überwachungskästchen dermassen, dass für die allermeisten das Gerät<br />
nicht mehr aus dem Leben wegzudenken ist. Hinzu kommen weitere<br />
Kontrollbestrebungen:<br />
Relativ aktuell ist der Wunsch des Staates an Verkehrsknotenpunkten,<br />
Autobahnen und Ausfallstrassen die KFZ-Kennzeichen vorbeifahrender<br />
Kraftfahrzeuge automatisch zu erfassen und mit Datenbanken<br />
abzugleichen. Auch hier findet eine Vorratsdatenerfassung statt. Jeder<br />
ist automatisch verdächtig. Das Netz zieht sich zu, bald wird man sich<br />
nirgendwo in Europa mehr bewegen können ohne dass entsprechende<br />
Stellen herausfinden könnten, wo man sich gerade befindet. Nach dem<br />
11.09. wurde ausserdem der Personalausweis mit biometrischen Merkmalen<br />
gesellschaftsfähig. Es ist inzwischen möglich automatsiche Kameras mit<br />
Gesichtserkennungssoftware anzubringen, welche anhand des Gesichtes<br />
erkennen, welche Person sich gerade in Ihrer Nähe aufhält. Ohne die<br />
zentrale Erfassung bimetrischer Daten ist es diesen System nur möglich<br />
herauszufinden, dass dieselbe Person „x" sich erst an Stelle A, danach<br />
an Stelle B befand. Mit einer zentralen Datenbank der<br />
Gesichtscharakteristika aller Bürger ist es möglich festzhalten, dass<br />
die Person Knut Müller sich erst an Stelle A, dann an Stelle B befand.<br />
Hinzu kommen bargeldlose Zahlungsmittel und Bankkonten. Auch hier<br />
lässt sich leicht eine Historie der Kaufgewohnheiten und<br />
Aufenthaltsorte einer Person erstellen. Wird man sich den Fragen<br />
stellen müssen warum man an einem bestimmten Daten ausgerechnet an<br />
dieser oder jener Tankstelle getankt hat ?</p>
<p>Beängstigend werden die ganzen Fakten, die zur Zeit geschaffen werden<br />
mit Blick auf eine ungewisse Zukunft. Man stelle sich eine Rechtsdruck<br />
in der Regierung, wie er zur Zeit in den USA bereits stattfindet vor.<br />
Eine solche Regierung hat dann bereits alle Instrumentarien vorliegen<br />
um den Bürger komplett zu überwachen, zu kontrollieren und klein zu<br />
halten.</p>
<p>Begründet werden alle momentanen Bestrebungen mit der Gefahr die durch<br />
den Terrorismus entstanden ist. Dies war übrigens zu RAF-Zeiten nicht<br />
anders. Bereits in den 70er Jahren wurde Deutschland von einer Flut<br />
von Notstandsgesetzen überrollt. Dennoch können alle diese<br />
Kontrollmechanismen nichts gegen den Terrorismus ausricheten.<br />
Terroristen wissen wie sie Ihre Kommunikation verschlüsseln und<br />
verbergen können, nur der Normalbürger weiss das nicht. Ein Terrorist<br />
wird alle technischen Möglichkeiten (die durchaus vorhanden sind)<br />
benutzen um seine Kommunikation zu verschlüsseln, zu verstecken und zu<br />
kaschieren. Oder glauben Sie, dass ein Terrorist mit seinem Handy bei<br />
seinen Kollegen anruft um das nächste Attentat zu planen ?<br />
Es gibt inzwischen Verschlüsselungsgeräte für Telefonkommunikation,<br />
das Internet bietet eine Unmenge von Möglichkeiten um Nachrichten zu<br />
verschlüsseln, sie unsichtbar in jedem Bild zu verstecken, etc. Der<br />
Terrorist hat das Wissen und die technischen Möglichkeiten genauso<br />
unbehelligt zu kommunizieren wie immer. Der Normalbürger nicht.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/der-verlust-der-freiheit-in-der-brd-und-in-der-gesamten-westlichen-welt/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Kostenzähler für UMTS-Verbindungen</title>
		<link>http://www.daniel-ritter.de/blog/linux-kostenzahler-fur-umts-verbindungen</link>
		<comments>http://www.daniel-ritter.de/blog/linux-kostenzahler-fur-umts-verbindungen#comments</comments>
		<pubDate>Tue, 27 May 2008 20:08:48 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[umts]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=28</guid>
		<description><![CDATA[Script zur Errechnung von Kosten bei UMTS-Verbindungen]]></description>
			<content:encoded><![CDATA[<p>Ich habe ein kleines Script geschrieben um den Traffic bei UMTS/GPRS-Verbindungen mitzuzählen und die entstandenen Kosten zu berechen. Ich brauche es, da ich plane bald mit einer ALDI-Talk Prepaid-Karte zu surfen, da die Preise in meinem regulären Vertrag zu hoch sind. (ALDI: 0,24€ pro Megabyte / E-PLUS-BASE 6,14€ !!!!!)</p>
<p>Am Besten packt man es an das Ende seines Einwahlskriptes, so dass es sofort nach dem Verbindungsaufbau beginnt mitzuzählen.</p>
<p>Alles ohne Gewähr.... weiss nicht ob es verbugt ist oder so, also Benutzung auf eigene Gefahr <img class="smiley" title=";)" src="http://forum.ubuntuusers.de/images/smiles/icon_wink.png" alt=";)" /> Bei mir mit BASE könnte das sehr teuer werden, also Vorsicht!</p>
<pre>
<strong>#!/bin/bash</strong>

<strong># trafficcount - Zeigt Trafficdaten für die aktuelle Verbindung an und
# erechnet Kosten für die Verbindung
</strong>

<strong># CONFIG:</strong>

<strong># Netzwerkkarte der Verbindung
INTERFACE=eth0</strong>

<strong># Kosten pro 1 MB Traffic
PREIS_PRO_MB=0.24</strong>

<strong># Updateinterval in Sek
UPDATEINTERVAL=5</strong>

<strong>############################################</strong>

<strong># Errechnet MB aus Byte
calc_mb()
{
BYTES=$1
MEGABYTES=`echo "scale=2; $BYTES / 1048576" | bc`
#echo "*** $MEGABYTES ***"
}</strong>

<strong># Holt Trafficdaten aus ifconfig
get_data()
{
# RX bytes:3435333852 (3.1 GiB)  TX bytes:1233166424 (1.1 GiB)
TRAFFICCUT=`ifconfig $INTERFACE | grep "RX bytes"`</strong>

<strong>#Recieved cutten
TMP=`echo $TRAFFICCUT | cut -d: -f2`
IN=`echo $TMP | cut -d" " -f1`</strong>

<strong># SENT cutten
TMP=`echo $TRAFFICCUT | cut -d: -f3`
OUT=`echo $TMP | cut -d" " -f1`</strong>

<strong># TOTAL ERRECHNEN
TOTAL=`echo "$IN + $OUT" | bc`
}</strong>

<strong>S_TOTAL=0
S_IN=0
S_OUT=0</strong>

<strong>get_data
START_TOTAL=$TOTAL
START_IN=$IN
START_OUT=$OUT</strong>

<strong>#echo $START_TOTAL
#echo $START_IN
#echo $START_OUT</strong>

<strong>clear</strong>

<strong>while [ 1 ]
do</strong>

<strong>get_data</strong>

<strong># Aktuellen Traffic in der Sitzung bestimmen
S_TOTAL=`echo "$TOTAL - $START_TOTAL" | bc`</strong>

<strong>#echo "*** S_TOTAL: $S_TOTAL ***"</strong>

<strong>S_IN=`echo "$IN - $START_IN" | bc`
S_OUT=`echo "$OUT - $START_OUT" | bc`</strong>

<strong># in MB umwandeln
calc_mb $TOTAL; TOTAL=$MEGABYTES
calc_mb $IN; IN=$MEGABYTES
calc_mb $OUT; OUT=$MEGABYTES
calc_mb $S_OUT; S_OUT=$MEGABYTES
calc_mb $S_IN; S_IN=$MEGABYTES
calc_mb $S_TOTAL; S_TOTAL=$MEGABYTES</strong>

<strong># Kosten ermitteln
KOSTEN=`echo "scale=2; $S_TOTAL * $PREIS_PRO_MB " | bc`
#echo "*** $KOSTEN - $S_TOTAL - $PREIS_PRO_MB***"</strong>

<strong># Sitzungsdaten updaten</strong>

<strong>#echo $TRAFFICCUT
#echo
echo "GESAMT  an $INTERFACE: In: $IN MB | Out: $OUT MB | Total: $TOTAL MB "
echo "SITZUNG an $INTERFACE: In: $S_IN MB | Out: $S_OUT MB | Total: $S_TOTAL MB "
echo "KOSTEN: Euro $KOSTEN"</strong>

<strong>sleep $UPDATEINTERVAL
clear</strong>

<strong>done</strong>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/linux-kostenzahler-fur-umts-verbindungen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ach würde das nur gehen&#8230;.</title>
		<link>http://www.daniel-ritter.de/blog/ach-wurde-das-nur-gehen</link>
		<comments>http://www.daniel-ritter.de/blog/ach-wurde-das-nur-gehen#comments</comments>
		<pubDate>Mon, 26 May 2008 21:24:33 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Dies und das]]></category>
		<category><![CDATA[Cartoon]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=25</guid>
		<description><![CDATA[Bild anklicken um es zu vergrößern Dies ist einer meiner Lieblingsstrips von http://xkcd.com einer smarten und manchmal zauberhaften Comic Serie.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/future1.png"><img class="aligncenter size-full wp-image-27" title="future1" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/future1.png" alt="Ach würde das nur gehen..." width="500" height="134" /></a></p>
<p style="text-align: center;"><strong>Bild anklicken um es zu vergrößern</strong></p>
<p style="text-align: center;">
<p style="text-align: center;">Dies ist einer meiner Lieblingsstrips von <a title="http://xkcd.com/" href="http://xkcd.com/">http://xkcd.com<br />
</a> einer smarten und manchmal zauberhaften Comic Serie.</p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/ach-wurde-das-nur-gehen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making your server box talk like in those old movies</title>
		<link>http://www.daniel-ritter.de/blog/making-your-server-box-talk-like-in-those-old-movies</link>
		<comments>http://www.daniel-ritter.de/blog/making-your-server-box-talk-like-in-those-old-movies#comments</comments>
		<pubDate>Mon, 26 May 2008 20:45:47 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[sprachausgabe]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=23</guid>
		<description><![CDATA[How to make a linux server talk]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/image14.jpg"><img class="alignleft size-full wp-image-24" title="Good Old Times" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/image14.jpg" alt="" width="500" height="375" /></a></p>
<p><span style="font-family: arial,helvetica;"><span class="edgeatext">This is a silly geek thing but you might like it. Why not let your penguin-server talk to you when it needs updates or other interesting things happen?</span></span></p>
<p>Code and config in these examples are tested on a debian box.</p>
<p> What we need:<br />
-A software for speech synthesis<br />
espeak is good for this purpose. quiet configurable and the voice quality is OK.</p>
<p><code><span style="color: #000000;"><strong><span style="color: #000000;">apt</span><span style="color: #000000;">-</span><span style="color: #0000bb;"><span style="color: #000000;">get install espeak</span> </span></strong></span></code></p>
<p>-A software that can trigger events, when certain log entries appear<br />
swatch is our friend here. it reads logs in realtime and triggers a command if a specific pattern is found.<br />
In our case it will just trigger espeak to say something.</p>
<p><code><span style="color: #000000;"><strong><span style="color: #000000;">apt</span><span style="color: #000000;">-</span></strong><span style="color: #0000bb;"><span style="color: #000000;"><strong>get install swatch</strong></span> </span></span></code></p>
<p>Now that we have our tools lets make a sample talker...<br />
We want our box to report, if new (no-spam) mail arrived.</p>
<p>I'm using spamassassin to filter my mail.<br />
I get a line similar to</p>
<p><code><span style="color: #000000;"><strong><em><span style="color: #0000bb;"><span style="color: #000000;">Jul 26 16</span></span><span style="color: #000000;">:</span><span style="color: #000000;">34</span><span style="color: #000000;">:</span><span style="color: #000000;">04 star spamd</span><span style="color: #000000;">[</span><span style="color: #000000;">13365</span><span style="color: #000000;">]: </span><span style="color: #000000;">spamd</span><span style="color: #000000;">: </span><span style="color: #000000;">clean message </span><span style="color: #000000;">(-</span><span style="color: #000000;">2.4</span><span style="color: #000000;">/</span><span style="color: #000000;">0.5</span><span style="color: #000000;">) for </span><span style="color: #000000;">mailbox</span><span style="color: #000000;">:</span><span style="color: #000000;">1001 in 1.9 seconds</span><span style="color: #000000;">, </span><span style="color: #000000;">7128 bytes</span></em><span style="color: #000000;"><em>.</em></span></strong></span></code></p>
<p><code><span style="color: #000000;"><strong><span style="color: #000000;"><em></em><br />
</span><span style="color: #000000;">in </span><span style="color: #000000;">/var/</span><span style="color: #000000;">log</span><span style="color: #000000;">/</span><span style="color: #000000;">mail</span><span style="color: #000000;">.</span></strong><span style="color: #0000bb;"><span style="color: #000000;"><strong>log </strong></span></span></span></code>everytime a good messages reaches my inbox.</p>
<p>So create a config file for swatch to look out for lines like that</p>
<p>File: /etc/swatch/ham<br />
<code><span style="color: #000000;"><strong><span style="color: #0000bb;"><br />
<span style="color: #000000;">watchfor </span></span><span style="color: #000000;">/</span><span style="color: #000000;">clean message</span><span style="color: #000000;">/<br />
</span><span style="color: #000000;">exec </span></strong><span style="color: #dd0000;"><span style="color: #000000;"><strong>"espeak new_mail &amp;"</strong></span><br />
</span></span></code><br />
The only thing left to do now is to start the swatch daemon</p>
<p><code><span style="color: #000000;"><strong><span style="color: #000000;">/</span><span style="color: #000000;">usr</span><span style="color: #000000;">/</span><span style="color: #000000;">bin</span><span style="color: #000000;">/</span><span style="color: #000000;">swatch </span><span style="color: #000000;">--</span><span style="color: #0000bb;"><span style="color: #000000;">daemon </span></span><span style="color: #000000;">--</span><span style="color: #000000;">config</span><span style="color: #000000;">-</span><span style="color: #000000;">file</span><span style="color: #000000;">=/</span><span style="color: #000000;">etc</span><span style="color: #000000;">/</span><span style="color: #000000;">swatch</span><span style="color: #000000;">/</span><span style="color: #000000;">ham </span><span style="color: #000000;">--</span><span style="color: #000000;">tail</span><span style="color: #000000;">-</span><span style="color: #000000;">file</span><span style="color: #000000;">=/var/</span><span style="color: #000000;">log</span><span style="color: #000000;">/</span><span style="color: #000000;">mail</span><span style="color: #000000;">.</span></strong><span style="color: #0000bb;"><span style="color: #000000;"><strong>log</strong></span><br />
</span></span></code>I think you got the point. The possibilities are endless. Everything that is logged can be spoken.</p>
<p>But there are other interesting possibilities. Lets say you want your box to report new available updates to you.<br />
This little script can do it when run from a repeating cron-job:</p>
<p><code><span style="color: #000000;"><span style="color: #000000;"><br />
</span><strong><span style="color: #ff8000;"><span style="color: #000000;">#!/bin/bash</span><br />
</span><span style="color: #000000;">apt</span><span style="color: #000000;">-</span><span style="color: #000000;">get update<br />
UPDATELINE</span><span style="color: #000000;">=`</span><span style="color: #000000;">apt-get --simulate upgrade | grep remove</span><span style="color: #000000;">`<br />
</span><span style="color: #000000;">EINS</span><span style="color: #000000;">=`</span><span style="color: #000000;">echo $UPDATELINE | cut -d " " -f 1</span><span style="color: #000000;">`<br />
</span><span style="color: #000000;">ZWEI</span><span style="color: #000000;">=`</span><span style="color: #000000;">echo $UPDATELINE | cut -d " " -f 3</span><span style="color: #000000;">`<br />
</span><span style="color: #000000;">DREI</span><span style="color: #000000;">=`</span><span style="color: #000000;">echo $UPDATELINE | cut -d " " -f 6</span><span style="color: #000000;">`<br />
</span><span style="color: #000000;">VIER</span><span style="color: #000000;">=`</span><span style="color: #000000;">echo $UPDATELINE | cut -d " " -f 10</span><span style="color: #007700;"><span style="color: #000000;">`</span><br />
<span style="color: #000000;">((</span></span><span style="color: #000000;">UPDATES</span><span style="color: #000000;">=</span><span style="color: #000000;">EINS</span><span style="color: #000000;">+</span><span style="color: #000000;">ZWEI</span><span style="color: #000000;">+</span><span style="color: #000000;">DREI</span><span style="color: #000000;">+</span><span style="color: #000000;">VIER</span><span style="color: #000000;">))<br />
if [ </span><span style="color: #000000;">$UPDATES </span><span style="color: #000000;">-</span><span style="color: #000000;">gt 0 </span><span style="color: #000000;">]; </span><span style="color: #000000;">then<br />
espeak </span><span style="color: #000000;">"REPORT: i need $UPDATES updates! please install as soon as possible"<br />
</span></strong><span style="color: #0000bb;"><span style="color: #000000;"><strong>fi</strong></span><br />
</span></span></code></p>
<p>Now you have got all the tools to make your server an absolutely anoying brabbling box.<br />
Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/making-your-server-box-talk-like-in-those-old-movies/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kopenhagen</title>
		<link>http://www.daniel-ritter.de/blog/kopenhagen</link>
		<comments>http://www.daniel-ritter.de/blog/kopenhagen#comments</comments>
		<pubDate>Mon, 26 May 2008 19:54:48 +0000</pubDate>
		<dc:creator>Daniel</dc:creator>
				<category><![CDATA[Unterwegs]]></category>
		<category><![CDATA[kopenhagen]]></category>
		<category><![CDATA[photos]]></category>

		<guid isPermaLink="false">http://www.daniel-ritter.de/blog/?p=8</guid>
		<description><![CDATA[Kopenhagen Kobenhavn ist ein hübsches Fleckchen. Man bemerkt deutlich, dass hier der demokratische Sozialstaat noch halbwegs in Ordnung ist. Viele schöne Menschen in vielen hübschen und sauberen Sträßchen bummeln durch liebevoll eingerichtete Geschäfte. Ein Gefühl wie im Westdeutschland der 80er Jahre.]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: line-through;">
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_00011' title='S-Bahnen sind überall gleich....'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_00011-150x150.jpg" class="attachment-thumbnail" alt="S-Bahnen sind überall gleich...." title="S-Bahnen sind überall gleich...." /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0017' title='Ensrettet'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0017-150x150.jpg" class="attachment-thumbnail" alt="Ensrettet" title="Ensrettet" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0027' title='Das Telefonschaf'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0027-150x150.jpg" class="attachment-thumbnail" alt="Das Telefonschaf" title="Das Telefonschaf" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0031' title='Das älteste Telefon der Welt'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0031-150x150.jpg" class="attachment-thumbnail" alt="Das älteste Telefon der Welt" title="Das älteste Telefon der Welt" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0047' title='Bizarre Kunst'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0047-150x150.jpg" class="attachment-thumbnail" alt="Bizarre Kunst" title="Bizarre Kunst" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0054' title='Riesige Dot-Matrix mit Zufallsmustern'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0054-150x150.jpg" class="attachment-thumbnail" alt="Riesige Dot-Matrix mit Zufallsmustern" title="Riesige Dot-Matrix mit Zufallsmustern" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0059' title='IKEA Kinderparadies 1981'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0059-150x150.jpg" class="attachment-thumbnail" alt="IKEA Kinderparadies 1981" title="IKEA Kinderparadies 1981" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0069' title='Das wohl häßlichste Spielzeugkettenmaskottchen der Welt'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0069-150x150.jpg" class="attachment-thumbnail" alt="Das wohl häßlichste Spielzeugkettenmaskottchen der Welt" title="Das wohl häßlichste Spielzeugkettenmaskottchen der Welt" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0071' title='Der runde Turm'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0071-150x150.jpg" class="attachment-thumbnail" alt="Der runde Turm" title="Der runde Turm" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0083' title='Premium Sitzplätze in der vollautomatischen und extrem langsamen U-Bahn'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0083-150x150.jpg" class="attachment-thumbnail" alt="Premium Sitzplätze in der vollautomatischen und extrem langsamen U-Bahn" title="Premium Sitzplätze in der vollautomatischen und extrem langsamen U-Bahn" /></a>
<a href='http://www.daniel-ritter.de/blog/kopenhagen/img_0084' title='Ein sogar für Süchtige unerträgliches Raucher-KZ auf dem Lufthaven'><img width="150" height="150" src="http://www.daniel-ritter.de/blog/wp-content/uploads/2008/05/img_0084-150x150.jpg" class="attachment-thumbnail" alt="Ein sogar für Süchtige unerträgliches Raucher-KZ auf dem Lufthaven" title="Ein sogar für Süchtige unerträgliches Raucher-KZ auf dem Lufthaven" /></a>
Kopenhagen</span> Kobenhavn ist ein hübsches Fleckchen. Man bemerkt deutlich, dass hier der demokratische Sozialstaat noch halbwegs in Ordnung ist. Viele schöne Menschen in vielen hübschen und sauberen Sträßchen bummeln durch liebevoll eingerichtete Geschäfte. Ein Gefühl wie im Westdeutschland der 80er Jahre.</p>
<p><strong></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daniel-ritter.de/blog/kopenhagen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

