Zum Inhalt springen

Squid als Adblocker einrichten

Squid
Print Friendly, PDF & Email

Squid

Heute habe ich mich einmal damit beschäftigt, wie man Squid nicht nur als Proxy benutzt um die Zugriffe auf Webseiten zu beschleunigen sondern unter zuhilfenahme von SuqidGuard zu einem Adblocker umfunktioniert, der selbst auf Seiten wie „Bild.de“ funktioniert die mittlerweile ja damit begonnen haben um Ihre Werbeeinnahmen nicht zu gefährden Gegenmaßnahmen zu entwickeln.

Zunächst einmal bevor wir mit den eigentlichen Änderungen anfangen muss einige Grundlagen erledigt werden.

1 Installation von Squid (sofern nicht schon geschehen)

sudo apt install squid

2 Installation von SquidGuard

sudo apt install squidGuard

3 Erstellen des Verzeichnis adv

mkdir  /var/lib/squidguard/db/adv


Nachdem nun diese Grundlagen erledigt sind geht es an die eigentlichen Änderungen und Vorarbeiten

Wir wechseln also zunächst in das Verzeichnis /tmp um dort zwei listen von AdblockPlus herunter zu laden und in das richtige Format zu Konvertieren.

cd /tmp
wget https://easylist-downloads.adblockplus.org/easylist.txt
wget https://easylist.to/easylistgermany/easylistgermany.txt

Jetzt müssen wir noch ein sed regex script erstellen mit folgendem Inhalt:

s/\r//g;
/Adblock/d;
/.*\$.*/d;
/\n/d;
/.*\#.*/d;
/@@.*/d;
/^!.*/d;
/^\[.*\]$/d;
s#http://#||#g;
s/\/\//||/g
s,[+.?&/|],\\&,g;
s/\[/\\\[/g
s/\]/\\\]/g
s#*#.*#g;
s,\$.*$,,g;
s/\\|\\|\(.*\)\^\(.*\)/\.\1\\\/\2/g;
s/\\|\\|\(.*\)/\.\1/g;
/^\.\*$/d;
/^$/d;

Sobald dies geschehen ist, können wir nun damit beginnen SquidGuard mit den beiden Listen von Adblock Plus zu füttern bzw. diese in eine für SquidGuard lesbare Form zu bringen.

cat easylist.txt | sed -f regex.sed > /var/lib/squidguard/db/adv/expressions

cat easylistgermany.txt | sed -f regex.sed > /var/lib/squidguard/db/adv/expressions

Nun bearbeiten wir zunächst in /etc/squid die Datei squid.conf indem wir an das Ende diese beiden Zeilen anfügen um Squid zu veranlassen sämtlichen Traffic durch SquidGuard zu leiten und auf Werbung zu prüfen.

url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf url_rewrite_children 5

In der Datei squidguard.conf im Verzeichnis /etc/squidguard/ löschen wir alles nach den folgende zwei Zeilen am Anfang der Datei:

dbhome /var/lib/squidguard/db
logdir /var/log/squid

Danach fügen wir folgende Zeilen nach den o.a. Zeilen in die Datei ein:

src my_network {
ip 192.168.1.0/24
}

dest adv {
expressionlist adv/expressions
redirect https://192.168.1.1/blank.png
}

acl {
my_network {
pass !adv any
}
default {
pass none
redirect https://192.168.1.1/blank.png
}
}

Selbstverständlich müssen wir natürlich die IP Adressen an unsere eigene IP anpassen. Diese sollte dem Rechner entsprechen auf dem Squid läuft. Die Datei blank.png muss in das Standard Verzeichnis von Apache (bei mir /var/www/html/) kopiert werden. Diese kann hier heruntergeladen werden: blank.png  Sobald dies nun geschehen ist, lesen wir die expressions Datei in Squidguard ein und starten Squid neu:

squidGuard -C all
/etc/init.d/squid restart

Das war es auch schon ab sofort wird aller Traffic der über den Proxy Läuft auf Werbung überprüft und gefiltert.

Das einzige was somit noch zu tun ist, ist das wir natürlich den Proxy in unseren Browser eintragen müssen mit der Portnummer 3128. (Sofern die Portnummer in der Konfiguration nicht verändert worden ist)

Danke für das lesen dieses Beitrages über einen Kommentar oder eine Bewertung würde ich mich sehr freuen.

 

Update: Eine gute Liste mit fertigen Filtern kann hier bei Shallalist gefunden werden.

 

Please wait...

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.


Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib/php8.0/extensions/imagick.so (/usr/lib/php8.0/extensions/imagick.so: cannot open shared object file: No such file or directory), /usr/lib/php8.0/extensions/imagick.so.so (/usr/lib/php8.0/extensions/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library 'php_imagick.dll' (tried: /usr/lib/php8.0/extensions/php_imagick.dll (/usr/lib/php8.0/extensions/php_imagick.dll: cannot open shared object file: No such file or directory), /usr/lib/php8.0/extensions/php_imagick.dll.so (/usr/lib/php8.0/extensions/php_imagick.dll.so: cannot open shared object file: No such file or directory)) in Unknown on line 0

Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0