<?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>Bananasoft.org</title>
	<atom:link href="http://bananasoft.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://bananasoft.org</link>
	<description>... weil Bananen keine Äpfel sind!</description>
	<lastBuildDate>Thu, 24 Nov 2011 23:32:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Lighttpd und DocumentRoot</title>
		<link>http://bananasoft.org/lighttpd-und-documentroot/</link>
		<comments>http://bananasoft.org/lighttpd-und-documentroot/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 15:45:43 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Lighttpd]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=256</guid>
		<description><![CDATA[Bei dem Webserver Apache gibt es die Möglichkeit, die Seite, die beim Aufruf einer Homepage angezeigt werden soll, mittels DocumentRoot festzulegen. Diese Möglichkeit gibt es auch beim Lighttpd: Hierzu fügt man einfach die Konfiguration der Domain beispielsweise folgende Zeile hinzu: index-file.names = ("index.php") Hierdurch wird das DocumentRoot auf &#8220;index.php&#8221; gesetzt. Was allerdings nicht geht: Möchte [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bananasoft.org/wp-content/uploads/2010/06/lighttpd.png"><img class="size-thumbnail wp-image-53 alignleft" title="lighttpd" src="http://bananasoft.org/wp-content/uploads/2010/06/lighttpd-150x150.png" alt="" width="120" height="120" /></a>Bei dem Webserver Apache gibt es die Möglichkeit, die Seite, die beim Aufruf einer Homepage angezeigt werden soll, mittels DocumentRoot festzulegen. Diese Möglichkeit gibt es auch beim Lighttpd:</p>
<p>Hierzu fügt man einfach die Konfiguration der Domain beispielsweise folgende Zeile hinzu:</p>
<pre>index-file.names = ("index.php")</pre>
<p>Hierdurch wird das DocumentRoot auf &#8220;index.php&#8221; gesetzt.</p>
<p>Was allerdings nicht geht: Möchte man, so wie Torben auf seiner Seite <a href="http://minecognix.de">minecognix.de</a> gerne das Portal des Forums als Startseite haben, so kann man nicht einfach die Seite &#8220;index.php?page=Portal&#8221; angeben&#8230;</p>
<p><span id="more-256"></span> Dies wird mit einem 404-Error quittiert. Um dennoch eine saubere Möglichkeit zu fassen, habe ich eine Datei &#8220;portal.php&#8221; mit folgendem Inhalt angelegt:</p>
<pre>Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: index.php?page=Portal" );</pre>
<p>Hierdurch werden sowohl Besucher als auch Suchmaschinen durch einen <a title="[UPDATE] Lighttpd und 301-Redirects" href="http://bananasoft.org/lighttpd-und-redirects/">301-Redirect</a> auf die richtige Seite geleitet. Nun noch die o.g. Variable auf die portal.php setzen und schon funktioniert es auch mit der induviduellen Startseite.</p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/lighttpd-und-documentroot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[UPDATE] Lighttpd und 301-Redirects</title>
		<link>http://bananasoft.org/lighttpd-und-redirects/</link>
		<comments>http://bananasoft.org/lighttpd-und-redirects/#comments</comments>
		<pubDate>Wed, 22 Jun 2011 21:23:36 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=235</guid>
		<description><![CDATA[Wie ich bereits vor einigen Monaten berichtet habe, haben wir uns die Domäne www.bananasoft.de sichern können. Die damaligen Versuche, die Domain vernünftig auf bananasoft.org umzubiegen, sind gescheitert, bzw. ich habe es nicht weiter verfolgt. Jetzt habe ich mich noch einmal daran gesetzt, nachdem ich einen kurzen Artikel bei Sebastian Constapel gelesen hatte. Hier sind nun [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bananasoft.org/wp-content/uploads/2010/06/lighttpd.png"><img class="size-thumbnail wp-image-53 alignleft" title="lighttpd" src="http://bananasoft.org/wp-content/uploads/2010/06/lighttpd-150x150.png" alt="" width="135" height="135" /></a>Wie ich bereits vor <a title="bananasoft.de ist uns!" href="http://bananasoft.org/bananasoft-de-ist-uns/">einigen Monaten berichtet habe</a>, haben wir uns die Domäne <a title="Bananasoft.de" href="http://bananasoft.de">www.bananasoft.de</a> sichern können. Die damaligen Versuche, die Domain vernünftig auf bananasoft.org umzubiegen, sind gescheitert, bzw. ich habe es nicht weiter verfolgt.</p>
<p>Jetzt habe ich mich noch einmal daran gesetzt, nachdem ich einen kurzen Artikel bei <a title="Sebastian Constapel" href="http://sebastianconstapel.de/seo/sauberer-301-redirect-mit-lighttpd.html">Sebastian Constapel</a> gelesen hatte. Hier sind nun die &#8220;Früchte&#8221; dieser Auseinandersetzung.</p>
<p><span id="more-235"></span>Kurz und schmerzlos:</p>
<pre>$HTTP["host"] == "www.bananasoft.org" {
	url.redirect-code = 301
	url.redirect = (
		"^/(.*)$" =&gt; "http://bananasoft.org",
	)}

$HTTP["host"] =~ "^bananasoft\.de" {
        url.redirect-code = 301
        url.redirect = (
                "^/(.*)$" =&gt; "http://bananasoft.org/$1",
        )
}</pre>
<p>Wichtig ist selbstverständlich, dass in der Lighttpd.conf folgende Zeilen aktiv sind:</p>
<pre>server.modules = (
"mod_access",
(...)
"mod_rewrite",
"mod_redirect",
(...)
)</pre>
<p>Dem Redirect-Glück steht nun nichts mehr im Wege <img src='http://bananasoft.org/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><strong>Update: </strong>Wenn man seine eigene Seite in einem Unterverzeichnis hatte, sie nun online schalten möchte und dabei möglichst die Wurzel der Domäne auf das neue Verzeichnis legen möchte, sollte man &#8211; nur für den Fall dass eine Suchmaschine bereits Seiten indexiert hat &#8211; auch für diese Seiten einen Redirect einbauen:</p>
<pre>$HTTP["host"] == "domain.org"{
	[...]
	url.redirect-code = 301
	url.redirect = (
              "^/tempdomain/(.*)" =&gt; "http://domain.org/$1"
	)
}</pre>
<p>Somit werden alle Aufrufe, die vorher auf /tempdomain/ gelandet sind, auf das root-Verzeichnis umgebogen.</p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/lighttpd-und-redirects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Sound Remix</title>
		<link>http://bananasoft.org/windows-sound-remix/</link>
		<comments>http://bananasoft.org/windows-sound-remix/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 21:28:01 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Unterhaltung]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=248</guid>
		<description><![CDATA[Dieses Video ist zwar auch schon &#8220;etwas&#8221; älter (Upload auf YT: 2007), aber meiner Meinung nach der beste Remix basierend auf Windows-Sounds, der mir bisher begegnet ist. Da fängt man doch schon an, Windows ein wenig zu vermissen. Mit so viel musikalischem Potenzial&#8230;]]></description>
			<content:encoded><![CDATA[<p>Dieses Video ist zwar auch schon &#8220;etwas&#8221; älter (Upload auf YT: 2007), aber meiner Meinung nach der beste Remix basierend auf Windows-Sounds, der mir bisher begegnet ist. Da fängt man doch schon an, Windows ein wenig zu vermissen. Mit so viel musikalischem Potenzial&#8230;</p>
<p><a href="http://www.youtube.com/watch?v=dsU3B0W3TMs"><img src="http://img.youtube.com/vi/dsU3B0W3TMs/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=dsU3B0W3TMs">Click here</a> to view the video on YouTube.</p>

]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/windows-sound-remix/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Besuch von Außerhalb die zweite / Bald neuer Server?</title>
		<link>http://bananasoft.org/besuch-von-auserhalb-die-zweite-bald-neuer-server/</link>
		<comments>http://bananasoft.org/besuch-von-auserhalb-die-zweite-bald-neuer-server/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 22:35:40 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[iptables]]></category>
		<category><![CDATA[Lighttpd]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=230</guid>
		<description><![CDATA[Nachdem ich mich in letzter Zeit mit so interessanten Sachen wie dem TOR-Projekt auseinandergesetzt (und lieben gelernt habe!), habe ich mich dazu entschlossen, den lieben Chinesen wieder Zugang zu unserer Seite zu gewähren, da vermutlich &#8220;nur&#8221; ein Scriptkiddie unterwegs war. Und da Sippenhaftung nun wirklich nicht mehr zeitgemäß ist, ist die Sperre (vorläufig) wieder entfernt [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich mich in letzter Zeit mit so interessanten Sachen wie dem <a title="Tor Project" href="https://www.torproject.org/" target="_blank">TOR-Projekt</a> auseinandergesetzt (und lieben gelernt habe!), habe ich mich dazu entschlossen, den lieben Chinesen wieder Zugang zu unserer Seite zu gewähren, da vermutlich &#8220;nur&#8221; ein <a href="http://de.wikipedia.org/wiki/Skriptkiddie" target="_blank">Scriptkiddie</a> unterwegs war. Und da Sippenhaftung nun wirklich nicht mehr zeitgemäß ist, ist die Sperre (vorläufig) wieder entfernt worden. Sollte der Server wieder in die Knie gehen, so weiß ich ja, welche Befehle ich eingeben muss, um die entsprechenden <a title="Besuch von Außerhalb" href="http://bananasoft.org/besuch-von-ausserhalb/" target="_blank">Individuen auszusperren</a>.</p>
<p>Abgesehen davon gibt es evtl. noch ein paar ganz interessante News:</p>
<p><span id="more-230"></span>In naher Zukunft wird der Server, auf dem die Domain hier läuft, wieder einmal durch einen neuen ersetzt, der neben mehr Leistung auch über ein neueres Betriebssystem verfügt.  Ein Upgrade sollte ja von Zeit zu Zeit möglich und nötig sein. Habe ich zumindest gehört&#8230;</p>
<p>Ob wir dabei dann weiterhin auf Lighttpd setzen werden, uns vielleicht mal nginx anschauen, oder aber reumütig zum Indianer zurückkehren werden, wird sich dann zeigen. Kennt vielleicht jemand ein tolles Webspace-Administrations-Tool, mit dem sich, ähnlich wie bei Plesk, Domains verwalten lassen? Interessant hierbei wäre besonders die Verwaltung von DNS-Records, oder die Anbindung von &#8220;externen Domains&#8221;, die wir bei TECSpace gemietet haben&#8230;</p>
<p>Plesk an sich ist für uns uninteressant, da wir zur Zeit mehr als die in unserer möglichen Lizenz verfügbaren 10 Domains halten. Hat jemand Erfahrung mit SysCP gemacht? Laut <a title="Syscp Features" href="http://www.syscp.org/features.html" target="_blank">Featurelist</a> soll da ja der Lighty unterstützt werden. Hm. Mal schauen. Ich werde berichten&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/besuch-von-auserhalb-die-zweite-bald-neuer-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bill und Steve</title>
		<link>http://bananasoft.org/bill-und-steve/</link>
		<comments>http://bananasoft.org/bill-und-steve/#comments</comments>
		<pubDate>Sun, 29 May 2011 20:49:38 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Unterhaltung]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=211</guid>
		<description><![CDATA[Torben hat mir letztens ein Video geschickt, kommentiert mit einem einfachen, aber einprägsamen &#8220;WTF&#8221;. Dem kann ich mich nur anschließen. Gruselig]]></description>
			<content:encoded><![CDATA[<p>Torben hat mir letztens ein Video geschickt, kommentiert mit einem einfachen, aber einprägsamen &#8220;WTF&#8221;. Dem kann ich mich nur anschließen.</p>
<p><a href="http://www.youtube.com/watch?v=IY2j_GPIqRA"><img src="http://img.youtube.com/vi/IY2j_GPIqRA/2.jpg"></a></p>
<p><a href="http://www.youtube.com/watch?v=IY2j_GPIqRA">Click here</a> to view the video on YouTube.</p>

<p>Gruselig</p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/bill-und-steve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webdesign und der Internet-Explorer der Hölle&#8230;</title>
		<link>http://bananasoft.org/webdesign-und-der-internet-explorer-der-holle/</link>
		<comments>http://bananasoft.org/webdesign-und-der-internet-explorer-der-holle/#comments</comments>
		<pubDate>Sun, 29 May 2011 10:26:55 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Webentwicklung]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=217</guid>
		<description><![CDATA[Jeder Webdesigner / Webentwickler kennt wohl das Problem: Man hat gerade eine Webanwendung halbwegs fertig gestellt, sie mit Google Chrome und Firefox durchgetestet und freut sich seines Lebens, dass das Projekt langsam ein Ende findet. Doch dann: Öffnet man die Seite im Internet Explorer. Welche Version ist egal &#8211; Sie sieht auf jeder Version zerhackstückt, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://bananasoft.org/wp-content/uploads/2011/05/ie-devil_03.png"><img class="alignleft size-thumbnail wp-image-219" title="ie-devil_03" src="http://bananasoft.org/wp-content/uploads/2011/05/ie-devil_03-150x150.png" alt="IE der Hölle" width="150" height="150" /></a>Jeder Webdesigner / Webentwickler kennt wohl das Problem: Man hat gerade eine Webanwendung halbwegs fertig gestellt, sie mit Google Chrome und Firefox durchgetestet und freut sich seines Lebens, dass das Projekt langsam ein Ende findet. Doch dann: Öffnet man die Seite im Internet Explorer. Welche Version ist egal &#8211; Sie sieht auf jeder Version zerhackstückt, zerschossen und unschön aus. Kurz: Absolut beschissen.</p>
<p><span id="more-217"></span></p>
<p>Man setzt sich also dran und geht Version zu Version (ab IE 6.0 &#8211; kaum zu glauben, dass diese alte, missratene Krücke nach wie vor genutzt wird!) durch und <strong>versucht</strong> nachzuvollziehen, warum die Seite so beschissen aussieht. Zwar kann man mit Hilfe von Javascript-Dateien wie <a title="IE7-JS" href="http://code.google.com/p/ie7-js/">IE7-JS</a> dem Internet-Explorer 6 und aufwärts einige Bugfixes, wie beispielsweise (halb-) transparente PNGs, sowie das Verhalten bei DIVs und diversen CSS-Einstellungen &#8220;fixen&#8221;. Mit diesen Dateien kann &#8211; laut Hersteller &#8211; dem IE6 &#8220;Features&#8221; vom IE9 beibringen. Man kommt aber leider nicht darum herum die Seite zumindest unter den verschiedenen Version anzuschauen.</p>
<p>Da man ja schlecht immer alle IE Versionen (de-) installieren kann (oder will), habe ich mich auf die Suche nach einer Lösung dieses Problems begeben. Und ich bin tatsächlich fündig geworden: Mit dem <a title="IETester" href="http://www.my-debugbar.com/wiki/IETester/HomePage">IETester</a> kann man sich seine Seite in unterschiedlichen IE-Versionen betrachten und bugfixen:</p>
<blockquote><p>IETester is a free (both for personal and professional usage) WebBrowser that allows you to have the rendering and javascript engines of <strong>IE10 preview, IE9, IE8, IE7 IE 6 and IE5.5 on Windows 7, Vista and XP</strong>, as well as the installed IE in the same process.</p></blockquote>
<p>Klingt auf jeden Fall interessant und sollte von jedem, der sich mit diesem Problem herumärgert einmal getestet werden.</p>
<p style="text-align: center;"><a href="http://bananasoft.org/wp-content/uploads/2011/05/ietester-0.3.png"><img class="aligncenter size-full wp-image-218" title="ietester-0.3" src="http://bananasoft.org/wp-content/uploads/2011/05/ietester-0.3.png" alt="Screenshot IETester" width="444" height="257" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/webdesign-und-der-internet-explorer-der-holle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Besuch von Außerhalb</title>
		<link>http://bananasoft.org/besuch-von-ausserhalb/</link>
		<comments>http://bananasoft.org/besuch-von-ausserhalb/#comments</comments>
		<pubDate>Tue, 03 May 2011 22:53:34 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[iptables]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=201</guid>
		<description><![CDATA[Ich hätte es nicht für möglich gehalten, aber am gestrigen Abend um 22:52 war es soweit:  Torben machte mich darauf aufmerksam, dass die Domain bananasoft.org nicht mehr erreichbar sei. Nach einigen Recherchen in den Log-Files stellte sich heraus, dass wir Besuch aus China bekamen. Ein gewisser User / Server mit der IP-Adresse &#8220;218.57.146.156&#8243; stattete uns [...]]]></description>
			<content:encoded><![CDATA[<div>
<p>Ich hätte es nicht für möglich gehalten, aber am gestrigen Abend um 22:52 war es soweit:  Torben machte mich darauf aufmerksam, dass die Domain bananasoft.org nicht mehr erreichbar sei. Nach einigen Recherchen in den Log-Files stellte sich heraus, dass wir Besuch aus China bekamen. Ein gewisser User / Server mit der IP-Adresse &#8220;218.57.146.156&#8243; stattete uns einen weniger erfreulichen Besuch ab. Durch eine Kombination aus DDos und versuchtem Knacken von Passwörtern und / oder von &#8220;unbesetzten&#8221; Passwörtern von Standard-Daemons wurde unser Server lahmgelegt&#8230;<span id="more-201"></span></p>
<p>Woher der Besuch stammte, konnte durch eine einfache &#8220;whois&#8221;-Abfrage geklärt werden:</p>
<pre>person:       ChinaUnicom Hostmaster
nic-hdl:      CH1302-AP
e-mail:       abuse@chinaunicom.cn
address:      No.21,Jin-Rong Street
address:      Beijing,100140
address:      P.R.China
phone:        +86-10-66259940
fax-no:       +86-10-66259764
country:      CN
changed:      abuse@chinaunicom.cn 20090408
mnt-by:       MAINT-CNCGROUP
source:       APNIC</pre>
<p>Interessant! Besuch auch China! Die wollten bestimmt nur das Beste von uns&#8230; Unseren Server! Da ich gerade keine Lust hatte denen ein Fax zu schicken oder anzurufen und mich zu beschweren (mein Chinesisch ist auch nicht gerade das Beste&#8230; quasi nicht-existent), habe ich dem Server einfach kurzerhand gesagt: &#8220;Ähm, den wollen wir nicht haben. Hau dem mit einem schönen, massiven Holzbrett mal so richtig eins vor die Glocke, wenn er das nächste mal vorbei kommt.&#8221;</p>
<p>Kurzum: Ich habe</p>
<pre>iptables</pre>
<p>dazu veranlasst einfach die IP-Adresse in Zukunft zu droppen:</p>
<pre>iptables -I INPUT -s 218.57.146.156 -j DROP</pre>
<p>Damit wäre die erste Gefahr zumindest vorläufig gebannt worden&#8230;</p>
<p>Im zweiten Schritt wurde die Überlegung angestellt, ob man überhaupt den Mitmenschen aus China das Deutsch dieser Webseite zutrauen will. Ich entschied mich für ein ganz klares &#8220;Deren Deutsch wird im Durchschnitt so gut sein wie mein Chinesisch&#8221; und habe mich für eine verschärfte Form der <a title="Sippenhaftung" href="http://de.wikipedia.org/wiki/Sippenhaftung" target="_blank">Sippenhaft</a> entschieden. Das ganze Land wird ab sofort geblockt. Auf eine Seite mehr oder weniger kommt es bei den Chinesen ja leider nicht wirklich an (Alternativ könnte man auch einen Dolmetscher damit beauftragen, Regime-kritische Texte hier zu veröffentlichen &#8211; dann würde uns die chinesische Regierung vermutlich eine Menge Arbeit abnehmen&#8230; Zurück zum Thema!).</p>
<p>Nach Recherchen im Netz bin ich auf folgendes bash-Skript gestoßen, das es ermöglicht, IP-Bereiche aus Ländern zu blocken, die für Spam / Scam und viele andere böse Sachen berühmt berüchtigt sind:</p>
<pre>#!/bin/bash
### Block all traffic from AFGHANISTAN (af) and CHINA (CN). Use ISO code ###
ISO="af cn" 

### Set PATH ###
IPT=/sbin/iptables
WGET=/usr/bin/wget
EGREP=/bin/egrep

### No editing below ###
CBLIST="countrydrop"
ZONEROOT="/var/iptables"
IPTCBRESTORE="/etc/sysconfig/iptables.cb"
ALLOWPORTS=80,443
MAXZONEAGE=7
DLROOT="http://www.ipdeny.com/ipblocks/data/countries"

cleanOldRules(){
    $IPT -L $CBLIST &gt; /dev/null 2&gt;&amp;1
    if [ $? = 0 ] ; then
	$IPT -D INPUT -j $CBLIST
	$IPT -D OUTPUT -j $CBLIST
	$IPT -D FORWARD -j $CBLIST
    fi
    TOPIP=`$IPT -L -n | grep Chain | cut -f 2 -d ' ' | grep '\-$CBLIST'`
    for i  in $TOPIP
    do
	$IPT -F ${i}
	$IPT -X ${i}
    done
    $IPT -X $CBLIST
}

updateZoneFiles() {
    ZONEARCH=${ZONEROOT}/arch
    mkdir -p ${ZONEARCH}
    find ${ZONEROOT} -maxdepth 1 -mindepth 1 -ctime +${MAXZONEAGE} -exec mv {} ${ZONEARCH} \;

    for c  in $ISO
    do
	# local zone file
	tDB=$ZONEROOT/$c.zone

	if [ -f $tDB ] ; then
	    printf "Zone file %s is new enough - no update required.\n" $tDB
	else
	    # get fresh zone file if it is newer than MAXZONEAGE days
	    $WGET -O $tDB $DLROOT/$c.zone
	fi
    done
    oldzones=`find ${ZONEROOT} -mindepth 1 -maxdepth 1 -type f -exec basename {} \; | cut -f 1 -d '.'`
    # Archive old zones no longer blocked
    for z in $oldzones ; do
	archme=${c}
	for c  in $ISO ; do
	    if [ $c = $z ] ; then archme="X"; fi
	done
	if [ $archme = $z ] ; then
	    mv ${archme} ${ZONEARCH}
	else
	    printf "Working from previous zone file for %s\n" ${z}
	fi
    done
}

createIPTLoadFile() {
    printf "# Generated by %s on" $0 &gt; ${IPTCBRESTORE}
    printf "%s " `date` &gt;&gt; ${IPTCBRESTORE}
    printf "\n*filter\n" &gt;&gt; ${IPTCBRESTORE}
    # Create CBLIST chain
    printf ":$CBLIST - [0:0]\n" &gt;&gt; ${IPTCBRESTORE}
    printf "%s INPUT -j $CBLIST\n" "-I" &gt; ${IPTCBRESTORE}.tmp
    printf "%s OUTPUT -j $CBLIST\n" "-I" &gt;&gt; ${IPTCBRESTORE}.tmp
    printf "%s FORWARD -j $CBLIST\n" "-I" &gt;&gt; ${IPTCBRESTORE}.tmp

    if [ "Z${ALLOWPORTS}" = "Z" ] ; then
	printf "Blocking all traffic from country - no ports allowed\n"
    else
	printf "%s $CBLIST -p tcp -m multiport ! --dports ${ALLOWPORTS} -j RETURN\n" "-I"&gt;&gt; ${IPTCBRESTORE}.tmp
    fi

    for c  in $ISO
    do
	# local zone file
	tDB=$ZONEROOT/$c.zone

	# country specific log message
	SPAMDROPMSG="$c Country Drop"

        # Create drop chain for identified packets
	CBLISTDROP=${c}-${CBLIST}-DROP
	printf ":${CBLISTDROP} - [0:0]\n" &gt;&gt; ${IPTCBRESTORE}
	printf "%s ${CBLISTDROP} -j LOG --log-prefix \"$SPAMDROPMSG\"\n" "-A" &gt;&gt; ${IPTCBRESTORE}.tmp
	printf "%s ${CBLISTDROP} -j DROP\n" "-A" &gt;&gt; ${IPTCBRESTORE}.tmp

	# Load IP ranges into chains correlating to first octet
	BADIPS=$(egrep -v "^#|^$" $tDB)
	for ipblock in $BADIPS
	do
	    topip=`echo $ipblock | cut -f 1 -d '.'`
	    chainExists=`grep -c :${topip}-${CBLIST} ${IPTCBRESTORE}`
	    if [ $chainExists = 0 ] ; then
		printf "Creating chain for octet %s\n" ${topip}
		printf ":$topip-$CBLIST - [0:0]\n" &gt;&gt; ${IPTCBRESTORE}
		sip=${topip}.0.0.0/8
		printf "%s $CBLIST -s ${sip} -j $topip-$CBLIST\n" "-A" &gt;&gt; ${IPTCBRESTORE}.tmp
	    fi
	    printf "  Adding rule for %s to chain for octet %s\n" ${ipblock} ${topip}
	    printf "%s $topip-$CBLIST -s $ipblock -j ${CBLISTDROP}\n" "-A" &gt;&gt; ${IPTCBRESTORE}.tmp
	done
    done
    cat ${IPTCBRESTORE}.tmp &gt;&gt; ${IPTCBRESTORE} &amp;&amp; rm -f ${IPTCBRESTORE}.tmp
    printf "COMMIT\n# Completed on " &gt;&gt; ${IPTCBRESTORE}
    printf "%s " `date` &gt;&gt; ${IPTCBRESTORE}
    printf "\n" &gt;&gt; ${IPTCBRESTORE}
}

directLoadTables() {
    # Create CBLIST chain
    $IPT -N $CBLIST
    $IPT -I INPUT -j $CBLIST
    $IPT -I OUTPUT -j $CBLIST
    $IPT -I FORWARD -j $CBLIST

    if [ "Z${ALLOWPORTS}" = "Z" ] ; then
	printf "Blocking all traffic from country - no ports allowed\n"
    else
	$IPT -I $CBLIST -p tcp -m multiport ! --dports ${ALLOWPORTS} -j RETURN
    fi

    for c  in $ISO
    do
	# local zone file
	tDB=$ZONEROOT/$c.zone

	# country specific log message
	SPAMDROPMSG="$c Country Drop"

        # Create drop chain for identified packets
	CBLISTDROP=${c}-${CBLIST}-DROP
	$IPT -N ${CBLISTDROP}
	$IPT -A ${CBLISTDROP} -j LOG --log-prefix "$SPAMDROPMSG"
	$IPT -A ${CBLISTDROP} -j DROP

	# Load IP ranges into chains correlating to first octet
	BADIPS=$(egrep -v "^#|^$" $tDB)
	for ipblock in $BADIPS
	do
	    topip=`echo $ipblock | cut -f 1 -d '.'`
	    $IPT -L $topip-$CBLIST &gt; /dev/null 2&gt;&amp;1
	    if [ $? = 1 ] ; then
		printf "Creating chain for octet %s\n" ${topip}
		$IPT -N $topip-$CBLIST
		sip=${topip}.0.0.0/8
		$IPT -A $CBLIST -s ${sip} -j $topip-$CBLIST
	    fi
	    printf "  Adding rule for %s to chain for octet %s\n" ${ipblock} ${topip}
	    $IPT -A $topip-$CBLIST -s $ipblock -j ${CBLISTDROP}
	done
    done
}

loadTables() {
    createIPTLoadFile
    ${IPT}-restore -n ${IPTCBRESTORE}
    #directLoadTables
}

# create a dir
[ ! -d $ZONEROOT ] &amp;&amp; /bin/mkdir -p $ZONEROOT

# clean old rules
cleanOldRules

# update zone files as needed
updateZoneFiles

# create a new iptables list
loadTables

exit 0</pre>
<p>Quelle: <a href="http://www.cyberciti.biz/faq/block-entier-country-using-iptables/" target="_blank">Kommentar von David Picard weiter unten</a></p>
<p>In diesem Codeschnipsel würden die Afghanen gleich mit ausgesperrt. Wir lassen natürlich die Afghanen weiter unseren hochinteressanten Blogeinträge lesen. Sie haben uns ja nichts getan.</p>
<p>Das Skript wird nun übrigens wöchentlich bei uns ausgeführt und aktualisiert dann die zu blockenden IP-Adressen. Ein entsprechnder Cronjob wurde auch angelegt:</p>
<pre>@weekly bash /path/to/bad_ip_iptables.sh</pre>
<p>Ich hoffe einfach mal, dass wir nun &#8211; erstmal &#8211; vor Hackern und <a href="http://www.youtube.com/watch?v=K4FT6MtHX8Q" target="_blank">Möchtegernhackern</a> verschont bleiben.</p>
<p>Bis demnächst!</p>
<p>Friedemann</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/besuch-von-ausserhalb/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>bananasoft.de ist uns!</title>
		<link>http://bananasoft.org/bananasoft-de-ist-uns/</link>
		<comments>http://bananasoft.org/bananasoft-de-ist-uns/#comments</comments>
		<pubDate>Tue, 19 Oct 2010 14:59:40 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=196</guid>
		<description><![CDATA[Schon vor längerer Zeit habe ich mir bananasoft.de gesichert. Der alte Besitzer wollte sie wohl nicht mehr. Nun gehört sie uns. Und noch besser: Sie leitet nun auf Bananasoft.org weiter!]]></description>
			<content:encoded><![CDATA[<p>Schon vor längerer Zeit habe ich mir bananasoft.de gesichert. Der alte Besitzer wollte sie wohl nicht mehr. Nun gehört sie uns. Und noch besser: Sie leitet nun auf Bananasoft.org weiter!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/tqnQdN4rDWU" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/tqnQdN4rDWU"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/bananasoft-de-ist-uns/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Was ist eigentlich&#8230; ChromeOS?</title>
		<link>http://bananasoft.org/was-ist-eigentlich-chromeos/</link>
		<comments>http://bananasoft.org/was-ist-eigentlich-chromeos/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 08:26:07 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Was ist eigentlich...]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=190</guid>
		<description><![CDATA[Auf Geralds Blog habe ich ein nettes Video gesehen, dass das Ganze sehr plastisch darstellt, sodass wirklich jeder es versteht:]]></description>
			<content:encoded><![CDATA[<p>Auf <a href="http://grayblog.at" target="_blank">Geralds Blog</a> habe ich ein nettes Video <a href="# http://sorny.bplaced.net/wordpress/?p=101" target="_blank">gesehen</a>, dass das Ganze sehr plastisch darstellt, sodass wirklich jeder es versteht:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/0QRO3gKj3qw" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/0QRO3gKj3qw"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/was-ist-eigentlich-chromeos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Falschmeldung&#8230;</title>
		<link>http://bananasoft.org/falschmeldung/</link>
		<comments>http://bananasoft.org/falschmeldung/#comments</comments>
		<pubDate>Sun, 10 Oct 2010 22:01:20 +0000</pubDate>
		<dc:creator>Friedemann</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://bananasoft.org/?p=182</guid>
		<description><![CDATA[Naja, das mit dem Weltuntergang war wohl nichts. Schade. Oder so ähnlich. Vielleicht haben wir ja alle das Glück, es in 1000 Jahren nochmal zu versuchen? Oder ist die Welt etwa schon vor 1000 Jahren, also um 10.10.1010 untergegangen, nur wurde vergessen, uns darüber zu informieren? Oder wurden wir damals nur auf einen neuen, auf [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="marvin BBC" src="http://indecoro.us/marvin.jpg" alt="" width="274" height="240" />Naja, das mit dem Weltuntergang war wohl nichts. Schade. Oder so ähnlich. Vielleicht haben wir ja alle das Glück, es in 1000 Jahren nochmal zu versuchen? Oder ist die Welt etwa schon vor 1000 Jahren, also um 10.10.1010 untergegangen, nur wurde vergessen, uns darüber zu informieren?<br />
Oder wurden wir damals nur auf einen neuen, auf Magrathea erschaffenen Planeten umgesiedelt?</p>
<p>Oder hat vielleicht der für die Zerstörung verantwortliche <a title="Vogon" href="http://www.youtube.com/watch?v=82KRS2XypBg" target="_blank">Vogon</a> ein paar zu viele <a href="http://www.anhalter-lexikon.de/lexikon/db/pangalaktischer_donnergurgler.php" target="_blank">Pangalaktische Donnergurgler</a> in sich hinein geschüttet und dabei vergessen den Knopf zu drücken? Hm. Wohl eher unwahrscheinlich. Das wäre nämlich Trinken im Dienst gewesen und hätte einen riesig großen Haufen Papierkram verursacht. Obwohl &#8211; Vogonen dürfte sowas ja <a href="http://www.youtube.com/watch?v=cbN1NaQ7yQI" target="_blank">nicht unbedingt stören</a>.</p>
<p>Marvin hier zu meiner rechten Seite ist natürlich auch reichlich deprimiert (was sonst!), ist er doch bitter enttäuscht worden dass die Erde sich nach wie vor um die Sonne dreht.</p>
<p>Aber wer bin ich, dass ich das <a href="http://de.wikipedia.org/wiki/Technologien_und_Hintergrundinformationen_aus_dem_Roman_Per_Anhalter_durch_die_Galaxis#Der_Sinn_des_Universums_beziehungsweise_was_passiert_wenn_er_gefunden_wird.E2.80.A6" target="_blank">Universum</a> begreifen will? Es ist mir einfach zu gefährlich.</p>
<p>Ich merke schon, ich schreibe zu viel. Ich werde daher um dieses Thema ein <a href="http://de.wikipedia.org/wiki/Technologien_und_Hintergrundinformationen_aus_dem_Roman_Per_Anhalter_durch_die_Galaxis#Problem-anderer-Leute-Feld" target="_blank">PAL-Feld</a> aktivieren oder aber ein paar <a href="http://de.wikipedia.org/wiki/Technologien_und_Hintergrundinformationen_aus_dem_Roman_Per_Anhalter_durch_die_Galaxis#Joo-Janta_Gefahr-O-Sensitiv" target="_blank">Gefahr-O-Sensitiv</a> der Firma Joo-Janta verteilen&#8230;</p>
<p>Was ich Euch allen allerdings ans Herz legen möchte: Kauft euch umbedingt die &#8220;Per Anhalter durch die Galaxis&#8221;-Bände &#8211; es lohnt sich.</p>
<p>In diesem Sinne rufe ich &#8220;<a href="http://www.youtube.com/watch?v=WXRXEMHQYk0" target="_blank">Hallo Grund</a>&#8221; und wir werden uns wohl mit dem Weltuntergang bis zum <a href="http://www.scienceblogs.de/astrodicticum-simplex/weltuntergang-2012-fragen-und-antworten.php" target="_blank">21. Dezember 2012</a> gedulden müssen.</p>
<p>Gruß</p>
<p>Friedemann</p>
]]></content:encoded>
			<wfw:commentRss>http://bananasoft.org/falschmeldung/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.771 seconds -->
<!-- Cached page served by WP-Cache -->

