Werbung ... Überall im Internet sieht man Werbung. Auf jeder einzelnen und noch so kleinen Seite sieht man Werbung. Mich nervt es. Die Überflutung von Werbung im Internet ist für mich einfach zu viel geworden. Was macht man da? Nun auf der einen Seite könnte man auch das Internet einfach abschalten und nicht nutzen. Kommt für mich aber nicht in frage. Also? Muss ich damit leben? Die Antwort lautet nein. Gut und wie geht es weiter? Nun, ein paar Sachen brauchen wir.
Die Einkaufsliste ist relativ kurz: Raspberry PI 2, Stromkabel, Netzwerkkabel und das Internet. Auf dem Raspberry PI 2 sollte das Raspbian installiert sein. Meiner Meinung nach kann auch hier nur ein schlankes OS drauf, damit es performant läuft. Zusammenstecken, einschalten, kurz warten, draufschalten mittels SSH und weiter geht es.
Was machen wir genau? Wir setzen einen kleinen, lokalen Netzwerkdienst namens DNS auf und schalten diesen zwischen unserem Router und den PC/Notebook. Sämtlicher Verkehr, der in Richtung Internet geht muss zwingend über unseren neuen Raspberry PI gehen. Auf dem RPI (kurz Raspberry PI) setzen wir noch einen Webserver auf, der ein kleines Bild für jede Anfrage an den Browser schickt. Webseiten, die auf der DNS Blockliste später stehen werden über den RPI erreicht und die Antwort ist jedesmal ein kleines Bild, dass in die Webseite mit eingebaut wird. Fertig. Lasst uns anfangen.
Die Einrichtung des Netzwerkes sollte ja jeder können, da dies Grundvoraussetzung ist. Wir brauchen eine freie IP-Adresse aus deinem Netzwerksegment. Diese muss auf dem RPi eingerichtet sein. Für die Wahl des externen DNS Anbieters, der unsere Anfragen später einmal auflösen wird nutze ich gerne OpenDNS. Hierzu muss die Datei resolv.conf geändert werden.
$ vim /etc/resolv.conf
nameserver 208.67.220.222 nameserver 208.67.220.220
Installation Pixelserv
$ wget proxytunnel.sourceforge.net/files/pixelserv.pl.txt $ mv pixelserv.pl.txt pixelserv $ chmod +x pixelserv $ mv pixelserv /usr/local/bin/ $ vim pixelserv
Änderung am Pixelserv müssen noch getätigt werden:
Zeile 8: LocalHost => '10.100.100.200', Zeile 9: LocalPort => '80',
Damit Pixelserv noch ordentlich startet editieren wir noch die /etc/init.d/pixelserv Datei und geben folgenden Inhalt hinzu. Abspeichern und Schließen.
#! /bin/sh # /etc/init.d/pixelserv # # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting pixelserv " /usr/local/bin/pixelserv & ;; stop) echo "Stopping script pixelserv" killall pixelserv ;; *) echo "Usage: /etc/init.d/pixelserv {start|stop}" exit 1 ;; esac exit 0
Nicht vergessen!
$ chmod 755 /etc/init.d/pixelserv
Nun müssen wir noch update-rc.d (unter Debian) durchlaufen lassen.
$ update-rc.d pixelserv defaults
Jetzt noch den Dienst selber einmal startet und Pixelserv läuft.
$ /etc/init.d/pixelserv start
Die Installation von Pixelserv ist soweit vollständig und fertig.
Installation und Konfiguration von DNSMasq
$ apt-get update && apt-get install dnsmasq $ echo "conf-file=/etc/dnsmasq.adblock.conf" >> /etc/dnsmasq.conf $ touch /etc/dnsmasq-adblock.conf $ touch /etc/dnsmasq-adblock-private.conf $ touch /root/dns.sh && chmod +x /root/dns.sh
Einrichtung eines Downloadscriptes im Ordner /root/dns.sh. Hierbei bitte die IP-Adresse pixelserv_ip und die Pfade für ad_file und temp_ad_file anpassen.
#!/bin/bash ad_list_url="http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext" pixelserv_ip="10.100.100.200" ad_file="/etc/dnsmasq-adblock.conf" temp_ad_file="/etc/dnsmasq-adblock.conf.tmp" curl $ad_list_url | sed "s/127\.0\.0\.1/$pixelserv_ip/" > $temp_ad_file if [ -f "$temp_ad_file" ] then mv $temp_ad_file $ad_file service dnsmasq restart else echo "Error building the ad list, please try again." exit fi
Das Downloadscript muss noch in eine Crontab verpackt werden, damit es täglich sich einmal aktualisiert.
$ crontab -e
Hinzufügen des Crontab-Eintrages, der jeden Tag um 4 Uhr in der Nacht die Aktion durchführt.
0 4 * * * /root/dns.sh
Jetzt muss nur noch der DNSMasq Dienst neugestartet werden und wir sind fertig.
service dnsmasq restart