Keine Werbung bitte!

An dieser Stelle hatte ich geschrieben wie man mit einem einfachen Schritt die Aufzeichnung seiner Aktivitäten auf Webseiten mit Google Analytics verhindern kann. Platt gesprochen "Einfach seinem Browser eine andere/falsche" Adresse geben.

Nun könnte man versucht sein diesen Ansatz auch für die vielen Werbeserver zu verwenden. Listen von solchen Servern sind allgemein verfügbar und werden auch regelmässig aktualisiert. Das dumme ist nur, das wenn man das macht, die Webseiten überall die Meldungen "Diese Seite ist nicht erreichbar" aufzeigen. Denn der Browser versucht ja  etwas darzustellen was er nicht bekommt. Über diese Seite bin ich auf folgenden Weg gekommen. Kurz zusammengefasst: "einfach ein kleines leeres Bild geben". Vorraussetzung ist schon ein lokaler Linux Server der immer läuft.

Zuerst brauchen wir einen Dienst der immer ein kleines Bild zurückliefert. Egal was angefragt ist.

Es gibt eine Variante names pixelsserver.  Egal was der gefragt wird, er liefert immer ein kleines weisses Bildchen zurück. Da aber bei mir schon ein Apache Server läuft, habe ich folgende Vorgehensweise gewählt. Alles wird auf diesen Web Server umgeleitet. Dieser gibt natürlich immer einen Fehler "Seite nicht gefunden" (404) raus. In der Konfiguration des WebServers kann man angeben welche Datei angezeigt wird, wennn ein "Datei nicht gefunden Fehler" auftritt. Und hier sage ich einfach: nimm die ein-pixel-datei.

Wir kopieren diese Datei in das Root verzeichniss unseres Web Servers und über eine Datein namens htaccess sagen wir dem Server das er immer wenn er eine Seite nicht findet diese Datei anzuzeigen.

cd /var/www/
vi .htaccess
    ErrorDocument 404 /one-pixel.gif

Jetzt wird bei jeder Anfrage, die der Web Server nicht kennt, eine leere kleine Grafikdatei angezeigt.

Jetzt kommt der Teil wo wir die Namensauflösung für bekannte Werbeserver umstellen. Es gibt Dienste die solche Werbeserver in Listen bereitstellen. Eine solche Listen laden wir uns und stellen sie an eine Stelle wo unser DNS Server sie findet. Das macht das get-ad-block-list script

vi get-ad-block-list.sh

#!/bin/sh
wget "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext" -O /tmp/adblock.tmp
cat /tmp/adblock.tmp | sed 's/127.0.0.1/192.168.2.6/g' | sed 's/googleadservices/ggggggadservices/' | sed 's/tradedoubler.com/tttttdoubler.com/'> /etc/dnsmasq.adblock.conf
/etc/init.d/dnsmasq restart


Jetzt sagen wir noch das wir das täglich aktualisieren:

ln -s get-ad-block-list.sh /etc/cron.daily/

Dieses Script erzeugt eine Datei names dnsmasq.adblock.conf die wir dem DNS Server noch mitteilen müssen.

vi /etc/dnsmasq.conf

    conf-file=/etc/dnsmasq.adblock.conf