10
November
2022
17:00

Skript zum Entfernen von Werbung von Webseiten basierend auf der Hosts-Datei

10 November 2022 17:00

Auf meinem Smartphone verwende ich ein Programm zum Blockieren von Werbung AdAway. Für einen Linux-Computer habe ich ein kurzes Skript in sh geschrieben, um eine Hosts-Datei aus vier Quellen zu erstellen (drei davon wurden von www heruntergeladen, eine davon ist meine eigene).

Der Kern des Skripts besteht darin, spezielle Hosts aus URL und Datei zu laden, um Werbung zu blockieren, sie dann in einer einzigen Datei zusammenzufassen und sie über die Datei /etc/hosts zu kopieren.

Ich hänge das Skript in einem ZIP-Archiv an (aktualisiert am 16.01.2025).

gethosts.zip

Bevor Sie das Skript ausführen, müssen Sie eine Sicherungskopie der Datei /etc/hosts erstellen.

Der Vorteil des Skripts besteht darin, dass es nur gelegentlich ausgeführt werden kann; häufiger Start ist kontraindiziert.
Nach dem Ersetzen der Hosts-Datei wird nicht nur Werbung entfernt, sondern auch die Zeit zum Laden von Webseiten verkürzt.

Ergänzung ab 15.01.2025:

Damit die Werbeblockierung ordnungsgemäß funktioniert, sollten auf dem lokalen PC keine Dienste ausgeführt werden, die die Ports 80 und 443 abhören.

Prüfung durchführen. Mit dem folgenden Befehl können Sie überprüfen, ob auf den Ports 80 und 443 keine Dienste ausgeführt werden:
sudo netstat -tlpn | grep -E ':80|:443'

Wenn Apache2 installiert ist, sollten Sie seinen Port 80 in den Dateien auf einen anderen, beispielsweise 82, ändern:

  • /etc/apache2/ports.conf
  • /etc/apache2/sites-enabled/000-default.conf
    Nachdem Sie die Konfigurationsdateien bearbeitet haben, müssen Sie den Webserver neu starten:sudo service apache2 restart

Update vom 23.01.2025:

Um Einträge zu löschen, die sich nach der Aktualisierung der Hosts-Datei im Cache des lokalen DNS-Servers des aufgelösten Dienstes befinden, empfehle ich, den lokalen DNS-Cache mit dem folgenden Befehl zurückzusetzen:
sudo resolvectl flush-caches
Die entsprechende Änderung an der Befehlsdatei gethosts.sh vorgenommen.