Benutzer-Werkzeuge

Webseiten-Werkzeuge


guideos_adblocker

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
guideos_adblocker [2026/01/31 14:55] – [Übersicht] ktt73guideos_adblocker [2026/02/01 18:06] (aktuell) – [Wiederherstellung] ktt73
Zeile 2: Zeile 2:
  
 ===== Übersicht ===== ===== Übersicht =====
-{{ :adblocker.png?200|}} +{{ :adblocker.png?300|}} 
-Das **GuideOS Adblocker Tool** ist ein Zenity-basiertes Bash-Skript zur zentralen Verwaltung von Werbe-, Malware- und Phishing-Domains über die Systemdatei ''/etc/hosts''. Das Programm kombiniert vordefinierte Blocklisten mit individuellen Einträgen und bietet eine komfortable grafische Oberfläche zur Aktivierung, Deaktivierung und Wiederherstellung des Originalzustands [file:5].+Das **GuideOS Adblocker Tool** ist ein Zenity-basiertes Bash-Skript zur systemweiten Blockierung von Werbe-, Malware- und Phishing-Domains über die ''/etc/hosts''-Datei.
  
-^ Eigenschaft ^ Wert ^ 
-| **Entwickler** | evilware666, helga & Copilot | 
-| **Version** | 2.2 | 
-| **Lizenz** | MIT | 
-| **Benutzeroberfläche** | Zenity (GTK-Dialoge) | 
-| **Systemanforderungen** | Bash, Zenity, curl, sudo | 
  
-===== Funktionen =====+===== Zweck =====
  
-  * Systemweite Blockierung von Domains über ''/etc/hosts'' +Das Tool blockiert unerwünschte Domains auf Systemebene, indem es Einträge in der ''/etc/hosts''-Datei verwaltet. Die Blockierung funktioniert systemweit für alle Browser und Anwendungen. Es kombiniert vordefinierte Blocklisten mit individuellen Einträgen und bietet eine grafische Oberfläche zur Verwaltung.
-  * Integration vordefinierter Blocklisten (StevenBlack, BlocklistProject) +
-  * Verwaltung benutzerdefinierter Domain-Sperren +
-  * Automatisches Backup der originalen Hosts-Datei +
-  * Grafische Benutzeroberfläche mit Zenity +
-  * DNS-Cache-Leerung nach Änderungen +
-  * Aktualisierung von Blocklisten auf Knopfdruck +
-  * Wiederherstellung des Originalzustands+
  
-===== Installation =====+===== Vordefinierte Blocklisten =====
  
-==== Abhängigkeiten ====+^ Blockliste ^ Blockierte Inhalte ^ 
 +| **StevenBlack Komplett** | Pornografie, Social Media, Fake News, Glücksspiel | 
 +| **StevenBlack-Porn** | Pornografische Inhalte | 
 +| **BlocklistProject-Porn** | Zusätzliche Porno-Blockliste | 
 +| **BlocklistProject-Phishing** | Phishing-Seiten |
  
-<code bash> +===== Bedienung =====
-# Für Debian/Ubuntu-basierte Systeme +
-sudo apt install zenity curl+
  
-# Für Arch-basierte Systeme +==== Programm starten ====
-sudo pacman -S zenity curl +
-</code>+
  
-==== Skript installieren ==== 
  
-<code bash> +''guideos-adblocker-tool''
-# Skript ausführbar machen +
-chmod +x guideos-adblocker-tool+
  
-# Optional: In Systempfad verschieben 
-sudo mv guideos-adblocker-tool /usr/local/bin/ 
-</code> 
- 
-===== Verwendung ===== 
- 
-==== Programm starten ==== 
- 
-<code bash> 
-guideos-adblocker-tool 
-</code> 
  
-Beim ersten Start wird nach dem sudo-Passwort gefragtum Systemänderungen durchführen zu können.+Beim Start wird das sudo-Passwort abgefragtda Systemdateien geändert werden müssen.
  
 ==== Hauptmenü ==== ==== Hauptmenü ====
  
-Das Hauptmenü bietet folgende Optionen:+Das Hauptmenü bietet vier Optionen:
  
-  * **Blocklisten aktivieren & deaktivieren**: Auswahl und Verwaltung von Blocklisten+  * **Blocklisten aktivieren & deaktivieren**: Auswahl der gewünschten Blocklisten per Checkbox
   * **Eigene Einträge hinzufügen**: Individuelle Domains manuell blockieren   * **Eigene Einträge hinzufügen**: Individuelle Domains manuell blockieren
-  * **Eigene Einträge verwalten**: Eigene Sperren anzeigen und löschen+  * **Eigene Einträge verwalten**: Eigene Blockierungen anzeigen und löschen
   * **Beenden**: Programm schließen   * **Beenden**: Programm schließen
- 
-===== Vordefinierte Blocklisten ===== 
- 
-Das Tool unterstützt folgende Blocklisten: 
- 
-^ Blockliste ^ Beschreibung ^ URL ^ 
-| **StevenBlack Komplett** | Blockt Pornografie, Social Media, Fake News, Glücksspiel | ''github.com/StevenBlack/hosts'' | 
-| **StevenBlack-Porn** | Blockt pornografische Inhalte | ''github.com/StevenBlack/hosts/alternates/porn'' | 
-| **BlocklistProject-Porn** | Zusätzliche Porno-Blockliste | ''blocklistproject.github.io/Lists/porn.txt'' | 
-| **BlocklistProject-Phishing** | Blockt Phishing-Seiten | ''blocklistproject.github.io/Lists/phishing.txt'' | 
- 
-===== Dateien und Verzeichnisse ===== 
- 
-^ Datei/Verzeichnis ^ Zweck ^ 
-| ''/etc/hosts'' | Systemweite Hosts-Datei (wird modifiziert) | 
-| ''/etc/hosts.adblocker.bak'' | Backup der originalen Hosts-Datei | 
-| ''/etc/hosts.active_lists'' | Speichert aktive Blocklisten | 
-| ''/etc/hosts.lastupdate'' | Zeitstempel der letzten Aktualisierung | 
-| ''~/.adblocker_custom'' | Benutzerdefinierte blockierte Domains | 
- 
-===== Funktionsweise im Detail ===== 
- 
-==== Hosts-Datei Blockierung ==== 
- 
-Das Tool blockiert Domains durch Einträge in ''/etc/hosts'': 
- 
-<code> 
-0.0.0.0 ads.example.com 
-::1 ads.example.com 
-</code> 
- 
-Anfragen an diese Domains werden zu ''0.0.0.0'' (nirgendwohin) bzw. ''::1'' (localhost IPv6) umgeleitet, wodurch die Seite nicht erreichbar ist. 
- 
-==== Automatisches Backup ==== 
- 
-Beim ersten Start wird automatisch ein Backup erstellt: 
- 
-<code bash> 
-# Backup-Funktion 
-backup_hosts() { 
-  if ! sudo test -f "$BACKUP_FILE"; then 
-    echo "$SUDO_PASS" | sudo -S cp /etc/hosts "$BACKUP_FILE" 
-  fi 
-} 
-</code> 
- 
-Dies schützt vor Datenverlust und ermöglicht die vollständige Wiederherstellung. 
- 
-==== Blocklisten-Aktualisierung ==== 
- 
-Blocklisten werden von extern heruntergeladen und verarbeitet: 
- 
-  - Download der Listen via ''curl'' 
-  - Erkennung des Formats (Hosts-Format oder Domain-Liste) 
-  - Normalisierung auf ''0.0.0.0'' Format 
-  - Entfernung von Duplikaten via ''sort -u'' 
-  - Zusammenführung mit eigenen Einträgen 
-  - DNS-Cache-Leerung 
- 
-==== DNS-Cache leeren ==== 
- 
-Nach jeder Änderung wird der DNS-Cache geleert: 
- 
-<code bash> 
-sudo systemd-resolve --flush-caches 
-</code> 
- 
-Dies stellt sicher, dass Änderungen sofort wirksam werden. 
- 
-===== Eigene Domains blockieren ===== 
- 
-==== Domain hinzufügen ==== 
- 
-  - Menüpunkt "Eigene Einträge hinzufügen" wählen 
-  - Domain eingeben (z.B. ''ads.example.com'' oder ''https://tracking.site.com/path'') 
-  - URL wird automatisch bereinigt (Protokoll und Pfad entfernt) 
-  - Sowohl die Domain als auch die ''www.''-Variante werden blockiert 
-  - Eintrag wird in ''~/.adblocker_custom'' gespeichert 
-  - Sofortige Aktivierung in ''/etc/hosts'' 
- 
-==== Domain entfernen ==== 
- 
-  - Menüpunkt "Eigene Einträge verwalten" wählen 
-  - Zu löschende Domains auswählen 
-  - Bestätigung der Löschung 
-  - Entfernung aus ''~/.adblocker_custom'' und ''/etc/hosts'' 
- 
-===== Skript-Struktur ===== 
- 
-==== Hauptfunktionen ==== 
- 
-^ Funktion ^ Beschreibung ^ 
-| ''require_sudo()'' | Fragt sudo-Passwort ab und validiert es | 
-| ''backup_hosts()'' | Erstellt Backup der Hosts-Datei | 
-| ''restore_hosts()'' | Stellt originale Hosts-Datei wieder her | 
-| ''enable_adblock()'' | Aktiviert ausgewählte Blocklisten | 
-| ''add_custom_entry()'' | Fügt benutzerdefinierte Domain hinzu | 
-| ''manage_custom_entries()'' | Verwaltet eigene Einträge | 
-| ''update_blocklists()'' | Aktualisiert alle Blocklisten | 
-| ''count_custom_entries()'' | Zählt eigene Einträge | 
-| ''show_cache_hint()'' | Zeigt Erfolgshinweis mit Cache-Info | 
-| ''main_menu()'' | Hauptmenü-Schleife | 
- 
-==== Konfigurationsvariablen ==== 
- 
-<code bash> 
-CUSTOM_FILE="$HOME/.adblocker_custom" 
-BACKUP_FILE="/etc/hosts.adblocker.bak" 
- 
-declare -A BLOCKLISTS 
-BLOCKLISTS["Name"]="https://url-zur-liste" 
-</code> 
- 
-===== Workflow-Beispiel ===== 
- 
-==== Erste Verwendung ==== 
- 
-  - Programm starten: ''guideos-adblocker-tool'' 
-  - Sudo-Passwort eingeben 
-  - Automatisches Backup der Hosts-Datei 
-  - Automatische Aktualisierung aller Blocklisten 
-  - Hauptmenü erscheint 
  
 ==== Blocklisten aktivieren ==== ==== Blocklisten aktivieren ====
  
   - "Blocklisten aktivieren & deaktivieren" wählen   - "Blocklisten aktivieren & deaktivieren" wählen
-  - Gewünschte Listen per Checkbox auswählen +  - Gewünschte Listen per Checkbox auswählen (Mehrfachauswahl möglich) 
-  - Bestätigung mit "OK" +  - Mit "OK" bestätigen 
-  - Download und Integration der Listen +  - Listen werden heruntergeladen und in ''/etc/hosts'' integriert 
-  - DNS-Cache wird geleert +  - DNS-Cache wird automatisch geleert 
-  - Erfolgsmeldung mit Anzahl blockierter Domains+  - Browser neu starten für sofortige Wirkung
  
 ==== Eigene Domain blockieren ==== ==== Eigene Domain blockieren ====
  
   - "Eigene Einträge hinzufügen" wählen   - "Eigene Einträge hinzufügen" wählen
-  - Domain eingeben''tracking.example.com'' +  - Domain eingeben (z.B. ''ads.example.com'' oder ''https://tracking.site.com'') 
-  - Domain wird sofort blockiert +  - Domain wird sofort blockiert und in ''~/.adblocker_custom'' gespeichert 
-  - Anzeige der Gesamtzahl eigener Einträge +  - Sowohl die Domain als auch die ''www.''-Variante werden blockiert 
-  - Browser neu starten für sofortige Wirkung+  - Browser neu starten
  
-===== Erweiterte Nutzung =====+==== Eigene Domains verwalten ====
  
-==== Neue Blockliste hinzufügen ====+  - "Eigene Einträge verwalten" wählen 
 +  - Zu löschende Domains per Checkbox auswählen 
 +  - Löschung bestätigen 
 +  - Domains werden aus ''/etc/hosts'' und ''~/.adblocker_custom'' entfernt 
 +  - Browser neu starten
  
-Das Skript kann erweitert werden:+===== Wichtige Hinweise =====
  
-<code bash+<WRAP round important 80%
-# Im BLOCKLISTS-Array hinzufügen: +  * Das Tool benötigt **sudo-Rechte** für Systemänderungen 
-BLOCKLISTS["Meine eigene Liste"]="https://example.com/blocklist.txt" +  * Ein **automatisches Backup** wird erstellt unter ''/etc/hosts.adblocker.bak'' 
-</code>+  * Änderungen wirken **systemweit** für alle Benutzer 
 +  * **Browser muss komplett geschlossen und neu gestartet werden** (nicht nur Tab schließen!) 
 +  * **Browser-Cache leeren** (Strg+Shift+Entf) für sofortige Wirkung 
 +  * Manche Websites funktionieren möglicherweise nicht ohne Werbenetzwerke 
 +  * Übermäßiges Blockieren kann legitime Websites beeinträchtigen 
 +</WRAP>
  
-Unterstützte Formate: +===== Funktionsweise =====
-  * **Hosts-Format**: Zeilen mit ''0.0.0.0'' oder ''127.0.0.1'' oder ''::1'' +
-  * **Domain-Format**: Eine Domain pro Zeile+
  
-==== Automatische Aktualisierung via Cron ====+Das Tool leitet blockierte Domains zu ''0.0.0.0'' (nirgendwohin) um:
  
-<code bash> +<block round box 60%> 
-# Crontab bearbeiten +<code> 
-crontab -e +0.0.0.0 ads.example.com 
- +::ads.example.com
-# Täglich um 3 Uhr morgens aktualisieren +
-3 * * * /usr/local/bin/guideos-adblocker-tool --update-silent 2>&| logger -t adblocker+
 </code> </code>
 +</block>
  
-**Hinweis**: Das Skript müsste für ''--update-silent'' erweitert werden (nicht in aktueller Version enthalten). 
  
-===== Fehlersuche =====+Anfragen an diese Domains laufen ins Leere, wodurch Werbung und Tracking verhindert werden.
  
-==== Blockliste wird nicht geladen ====+===== Verwendete Dateien =====
  
-  * Internetverbindung prüfen: ''ping 8.8.8.8'' +^ Datei ^ Zweck ^ 
-  * URL manuell testen: ''curl -I https://url-zur-liste'' +''/etc/hosts'' | Systemweite Hosts-Datei (wird modifiziert) | 
-  * Proxy-Einstellungen überprüfen +| ''/etc/hosts.adblocker.bak'' | Automatisches Backup der Original-Datei | 
-  * Firewall-Regeln kontrollieren+| ''~/.adblocker_custom'' | Benutzerdefinierte blockierte Domains | 
 +''/etc/hosts.active_lists'' | Speichert aktive Blocklisten | 
 +| ''/etc/hosts.lastupdate'' | Zeitstempel der letzten Aktualisierung |
  
-==== Domain wird nicht blockiert ==== 
  
-  * Browser-Cache leeren (''Strg+Shift+Entf''+===== Wiederherstellung =====
-  * Browser komplett schließen und neu starten +
-  * DNS-Cache manuell leeren: ''sudo systemd-resolve --flush-caches'' +
-  * Hosts-Datei prüfen: ''grep "domain.com" /etc/hosts'' +
-  * HTTPS-Verbindungen können trotz Blockierung Zertifikatsfehler zeigen +
- +
-==== Wiederherstellung schlägt fehl ==== +
- +
-  * Backup-Datei prüfen: ''sudo cat /etc/hosts.adblocker.bak'' +
-  * Manuelle Wiederherstellung: ''sudo cp /etc/hosts.adblocker.bak /etc/hosts'' +
-  * Original-Hosts erstellen: ''sudo cp /etc/hosts.adblocker.bak /etc/hosts'' +
- +
-==== Berechtigungsprobleme ==== +
- +
-  * Sudo-Rechte überprüfen: ''sudo -v'' +
-  * Benutzer in sudoers-Datei prüfen: ''groups $USER'' +
-  * Zenity installiert: ''which zenity'' +
- +
-==== Zenity-Dialoge erscheinen nicht ==== +
- +
-  * Zenity installiert: ''sudo apt install zenity'' oder ''sudo pacman -S zenity'' +
-  * X11/Wayland Session läuft: ''echo $DISPLAY'' +
-  * Als anderer Benutzer: ''xhost +SI:localuser:$(whoami)'' +
- +
-===== Sicherheitshinweise ===== +
- +
-**Wichtige Hinweise zur Verwendung:** +
- +
-  * Das Tool benötigt sudo-Rechte für Systemänderungen +
-  * Backup wird automatisch erstellt, sollte aber zusätzlich gesichert werden +
-  * Übermäßiges Blockieren kann legitime Websites beeinträchtigen +
-  * Manche Websites funktionieren nicht ohne Werbenetzwerke +
-  * Änderungen betreffen alle Benutzer des Systems +
-  * Browser-Cache muss geleert werden für sofortige Wirkung +
- +
-===== Vorteile und Nachteile ===== +
- +
-==== Vorteile ==== +
- +
-  * Systemweite Blockierung (alle Browser und Anwendungen) +
-  * Keine Browser-Extensions nötig +
-  * Bessere Performance durch weniger Netzwerkanfragen +
-  * Funktioniert auch bei Apps außerhalb des Browsers +
-  * Einfache grafische Bedienung +
-  * Open Source und transparent +
- +
-==== Nachteile ==== +
- +
-  * Keine selektive Blockierung pro Browser +
-  * Kann legitime Inhalte blockieren +
-  * Manche Websites erkennen Adblocker +
-  * Manuelle Aktualisierung der Listen erforderlich +
-  * Keine Statistiken oder Protokollierung +
-  * DNS-over-HTTPS (DoH) umgeht ''/etc/hosts'' +
- +
-===== Alternative Ansätze ===== +
- +
-^ Methode ^ Vorteile ^ Nachteile ^ +
-| Browser-Extension | Selektiv, Whitelisting | Nur Browser, mehrere Extensions nötig | +
-| Pi-hole | Netzwerkweit, Statistiken | Separate Hardware/VM erforderlich | +
-| ''/etc/hosts'' (dieses Tool) | Systemweit, einfach | Keine feingranulare Kontrolle | +
-| DNS-Server (AdGuard DNS) | Keine Installation | Abhängigkeit von Drittanbieter | +
- +
-===== Weiterentwicklung ===== +
- +
-Mögliche Erweiterungen: +
- +
-  * Automatische Updates via Cron-Job +
-  * Whitelist-Funktion für Ausnahmen +
-  * Import/Export von eigenen Listen +
-  * Statistiken über blockierte Requests +
-  * Benachrichtigungen bei Blocklisten-Updates +
-  * Kategorisierung von eigenen Einträgen +
-  * Integration von Regex-Patterns +
-  * Temporäre Deaktivierung einzelner Listen +
- +
-===== Code-Beispiele ===== +
- +
-==== Domain manuell zur Hosts-Datei hinzufügen ==== +
- +
-<code bash> +
-# IPv4 und IPv6 blockieren +
-echo "0.0.0.0 ads.example.com" | sudo tee -a /etc/hosts +
-echo "::1 ads.example.com" | sudo tee -a /etc/hosts +
- +
-# DNS-Cache leeren +
-sudo systemd-resolve --flush-caches +
-</code> +
- +
-===Alle Adblocker-Einträge anzeigen ==== +
- +
-<code bash> +
-# Eigene Einträge anzeigen +
-cat ~/.adblocker_custom +
- +
-# Anzahl blockierter Domains +
-grep -c "^0.0.0.0" /etc/hosts +
-</code>+
  
-==== Backup wiederherstellen ====+Falls Probleme auftreten oder die Blockierung rückgängig gemacht werden soll:
  
 +<block round box 60%>
 <code bash> <code bash>
-# Original wiederherstellen+# Original-Hosts wiederherstellen
 sudo cp /etc/hosts.adblocker.bak /etc/hosts sudo cp /etc/hosts.adblocker.bak /etc/hosts
  
Zeile 349: Zeile 110:
 sudo systemd-resolve --flush-caches sudo systemd-resolve --flush-caches
 </code> </code>
- +</block>
-===== Siehe auch ===== +
- +
-  * [[https://github.com/StevenBlack/hosts|StevenBlack Hosts auf GitHub]] +
-  * [[https://github.com/blocklistproject/Lists|BlocklistProject Lists]] +
-  * [[https://wiki.archlinux.org/title/Hosts|ArchWiki: Hosts]] +
-  * [[https://help.ubuntu.com/community/Hosts|Ubuntu Hosts-Datei]]+
  
 ===== Lizenz ===== ===== Lizenz =====
  
-Das GuideOS Adblocker Tool ist unter der **MIT-Lizenz** veröffentlicht. +**Entwickler** evilware666 | 
- +| **Lizenz** | MIT |
-<code> +
-Copyright (c) 2024 evilware666, helga & Copilot +
- +
-Permission is hereby granted, free of charge, to any person obtaining a copy +
-of this software and associated documentation files (the "Software"), to deal +
-in the Software without restriction, including without limitation the rights +
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +
-copies of the Software, and to permit persons to whom the Software is +
-furnished to do so, subject to the following conditions: +
- +
-The above copyright notice and this permission notice shall be included in all +
-copies or substantial portions of the Software. +
- +
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +
-SOFTWARE. +
-</code>+
guideos_adblocker.1769867739.txt.gz · Zuletzt geändert: von ktt73

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki