Werbung blocken


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

Related Posts

Kali 2.0 Linux Autologin

Roundcube aktualisieren unter Debian

Neuinstallation von Windows 7 sucht endlich nach Updaates

iTunes Backup verschieben

IRSSI Cheat Sheet

Apps via SSH tunneln

Mit Powershell Dateien suchen und kopieren

Keybase Invites zu vergeben

SSH Keys

Meine liebsten TV-Serien - bluecon