Ich habe ein Problem mit Blocklisten und der Subdomain www
Ich blocke mit Pi-hole u.a. XXX-Seiten. Die Listen dafür sind laaaaang, sprich ich habe 11 Millionen Domains in der Blockliste.
Die Blocklisten dafür beinhalten aber öfter nur den reinen Domainnamen (tolledomain.tld), sprich ohne www davor, die betreffenden Domains sind aber in der Regel darüber zu erreichen (www.tolledomain.tld).
Das endet dann darin, dass viele Domains dennoch erreichbar (www.tolledomain.tld) sind und nicht geblockt werden.
Wie kann ich das Problem mit den Blocklisten lösen?
Einträge mit Subdomains löschen ( grep -Ev '(.+.)+.+..+$' ), Ziel: nur Einträge domain.tld rausfiltern
allen Einträgen ein "www." voranstellen ( sed 's/^(.)/www.\1/' )
Das Ergebnis ist eine Blockliste, die nur die Domains enthält, die in den ursprünglichen Listen ohne Subdomain (domain.tld) stehen. Alle Einträge haben ein www. vorangestellt bekommen.
Die ursprünglichen XXX-Listen hatten 2,8 Mio. Domains. Am Ende blieben ca. 1,3 Mio. davon übrig. Auf einem Pi4 dauert die Bearbeitung inkl. Download der Listen ca. 90 Sekunden.
Da die Forensoftware die Befehlsketten "versaut", hier die Befehle noch mal als Grafik:
Diese Listen im Easylist/ABP-Format können (im Gegensatz zum HOSTS-Format) auch Wildcard-Definitionen enthalten.
Sofern also die von Dir verwendeten Blocklisten auch in diesem Format vorliegen sollten und die entsprechenden WIldcards enthalten, könntest Du einfach die entsprechenden Listen in Pi-hole austauschen.
In dem Fall würde ich mich an den Blocklist-Ersteller wenden.
Nach dessen Angaben sollte die www.*-Subdomain zu den durch diesen selbst aufbereiteten Listen eigentlich automatisch hinzugefügt werden:
Hier bereiten wir die vorhandenen Daten für die Nutzung im Pi-hole auf. D.h. die Domains werden extrahiert. Fehlt einer Domain die www. Subdomain wird ein zweiter Eintrag erstellt.
Hoppla, Lesen bildet... ich habe das also nicht gelesen...
Und du hast Recht. Das war ein schlechtes Beispiel. Bei diesen Listen (RPIList) sind alle Domains ohne Subdomain auch zusätzlich mit www. gelistet.
Ich nutze aber noch XXX-Listen von anderen Quellen und da ist es so, dass teilweise Domains ohne Subdomain gelistet sind, aber die www.-Variante fehlt.
An meinem Ratschlag ändert das allerdings nichts:
Wenn die www.-Domänen in einer Liste im HOSTS-Format fehlen, sollte das der Ersteller der Listen korrigieren.
Und wenn es die Liste u.U. im Easylist/ABP-Format gibt und die HOSTS-Liste daraus abgeleitet erstellt wurde, liesse sich wahlweise stattdessen diese Liste verwenden.
Dein Skript wird vermutlich auch funktionieren, aber eben nur bei Dir und vielleicht noch ein paar Enthusiasten, die diesen Post lesen und Dein Skript auch laufen lassen.
Von der Korrektur der Listen würden hingegen alle Bezieher der Listen profitieren.