Blocklisten und die Subdomain www

Hallo!

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?

Ich habe für mich mit einem Bashscript einen Workaround gefunden:

Ich führe folgende Aktionen durch:

  • Runterladen der XXX-Blocklisten ( curl ), sowie Zusammenführen ( cat )
  • Leerzeilen löschen ( sed -e '/^\s*$/d' )
  • Kommentare löschen ( grep -v "#" )
  • Sortieren ( sort ) und doppelte Einträge löschen ( uniq )
  • 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:
befehle

In welchem Format liegen denn diese von Dir verwendeten Blocklisten vor?

Pi-hole hat kürzlich mit Pi-hole FTL v5.22, Web v5.19 and Core v5.16.1 released die Möglichkeit wieder eingeführt, eigentlich nicht für DNS-Blocker entworfene Blocklisten eingeschränkt zu verarbeiten (indem DNS-relevante Anteile der Form ||subomain.domain.com^ daraus berücksichtigt werden).

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.

1 Like

Das ist leider nicht der Fall.

Beispiel:
Link => github.com/RPiList/specials/blob/master/Blocklisten.md
Dort die Listen *ornblock1 bis *ornblock6 (p für *).

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.

1 Like

Hoppla, Lesen bildet... ich habe das also nicht gelesen... :smiley: :wink:

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.

Ok. :wink:

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.

1 Like

Dafür gitbt es eigentlich die Formatierungshilfe, damit sollte es gehen.


Der Schritt ist wahrscheinlich nicht nötig: Pi-hole braucht weder sortierte noch unique Listen, ggf. beschleunigt die Entfernung dein Skript.

1 Like

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.