AdBlocker auf RUTX/RUTC 50 - evtl. auch RUTX11

  • Lieber LT-ler/innen


    Es ist mal wieder soweit für das Thema "Dinge, die die Welt nicht braucht usw. ich aber gerne hätte"


    Heute mal etwas zum Thema AdBlocker, Werbung usw.


    Dieses Thema betrifft viele. Surfen im Internet macht Freude oder ist nötig. Was aber nicht nötig ist ist unerwünschte Werbung. Vor allem wenn man Datenlimits hat. Hier wird kräftig "mitgezählt" im Datenvolumen für Daten die man vielleicht gar nicht will.


    Webseiten dauern manchmal beim laden mit Werbung länger und und und. Auf das will ich eigentlich gar nicht eingehen. Aber auf eine mögliche Abhilfe schon.


    Seit längerer Zeit hat Teltonika einen WebFilter eingebaut, den man aber allerdings umständlich und vor allem manuell einrichten muss. Die Oberfläche hierzu ist auch nicht so prickelnd.


    Natürlich könnte man jetzt sich einen Rasperry PI ins WoMo bauen und darauf PI-Hole installieren der sich dann um die Ausblendung von Werbung kümmert. Will ich aber nicht, denn solche Dinge kann ein Teltonika auch mit zusätzlicher Software. Normalerweise langweilt der Router sich eh, also warum ihm nicht auch diese Aufgabe übertragen mit vernünftiger Oberfläche.

    Ich habe mir hierzu AdGuard Home auserkoren.


    Warum AdGuard Home?

    Der integrierte Werbeblocker in RutOS ist funktional eingeschränkt. AdGuard Home (übrigens kostenlos) bietet:

    • DNS-basiertes Blocking für alle Geräte im Netzwerk
    • Übersichtliche WebUI mit Statistiken
    • Anpassbare Blocklists
    • DNS-over-HTTPS (DoH) Unterstützung
    • Keine Client-Installation nötig

    Voraussetzungen

    KomponenteAnforderung
    RouterRUTX09, RUTX11, RUTX50, RUTC50
    Architekturaarch64 (ARM64)
    Freier Speicher~35 MB für Binary
    FirmwareRutOS 7.x (OpenWrt 21.02 Basis)
    ZugangSSH Root-Zugriff


    Installation

    1. AdGuard Home Binary herunterladen

    2. Konfigurationsverzeichnis erstellen

    Code
    mkdir -p /etc/adguardhome/data

    3. Basis-Konfiguration erstellen

    Wichtige Einstellungen:

    • address: 0.0.0.0:3080 - WebUI Port (nicht 3000, oft belegt)
    • port: 5353 - DNS Port (parallel zu dnsmasq auf 53)
    • upstream_dns - Cloudflare und Google DoH


    Je nachdem wie die obere Datei erstellt wird kann es Probleme geben. Dann bitte die hier angehängte Datei herunterladen. Wichtig hierbei ist die Dateinamenerweiterung .txt in .yaml umzubenennen und dann in das entsprechende Verzeichnis "/etc/adguardhome" hochzuladen.


    AdGuardHome.txt

    4. Procd Service erstellen

    5. Service aktivieren und starten

    Code
    /etc/init.d/adguardhome enable
    /etc/init.d/adguardhome start
    
    # Verifizieren
    sleep 3
    ps | grep AdGuard | grep -v grep
    netstat -tlnp | grep -E "3080|5353"

    Erwartete Ausgabe:

    Code
    tcp   0   0 :::3080   :::*   LISTEN   PID/AdGuardHome
    tcp   0   0 :::5353   :::*   LISTEN   PID/AdGuardHome

    6. Firewall-Regel für WebUI

    Code
    uci add firewall rule
    uci set firewall.@rule[-1].name="AdGuard_Home_WebUI"
    uci set firewall.@rule[-1].src="lan"
    uci set firewall.@rule[-1].dest_port="3080"
    uci set firewall.@rule[-1].proto="tcp"
    uci set firewall.@rule[-1].target="ACCEPT"
    uci commit firewall
    /etc/init.d/firewall reload

    7. WebUI aufrufen

    Öffne im Browser: http://ROUTER-IP:3080

    Beim ersten Zugriff:

    1. Setup-Wizard durchlaufen
    2. Admin-Benutzer anlegen
    3. Optional: Weitere Blocklists hinzufügen

    dnsmasq Integration

    Nach erfolgreicher Installation kann dnsmasq so konfiguriert werden, dass alle DNS-Anfragen durch AdGuard Home geleitet werden:

    Code
    # dnsmasq auf AdGuard als Upstream umstellen
    uci set dhcp.@dnsmasq[0].noresolv="1"
    uci add_list dhcp.@dnsmasq[0].server="127.0.0.1#5353"
    uci commit dhcp
    /etc/init.d/dnsmasq restart

    Testen:

    Code
    # Sollte 127.0.0.1 zurückgeben (geblockt)
    nslookup doubleclick.net 127.0.0.1
    
    # Sollte echte IP zurückgeben (erlaubt)
    nslookup google.com 127.0.0.1

    Firmware-Update Schutz (Sysupgrade)

    Kritisch: Ohne Eintrag in sysupgrade.conf wird AdGuard Home bei Firmware-Updates gelöscht!

    Code
    # Alle relevanten Pfade schützen
    cat >> /etc/sysupgrade.conf << 'EOF'
    /usr/local/bin/AdGuardHome
    /etc/adguardhome/
    /etc/init.d/adguardhome
    /etc/rc.d/
    EOF
    
    # Verifizieren
    cat /etc/sysupgrade.conf

    Geschützte Komponenten:

    PfadInhalt
    /usr/local/bin/AdGuardHomeBinary (30 MB)
    /etc/adguardhome/Config + Query-Logs + Statistiken
    /etc/init.d/adguardhomeService-Script
    /etc/rc.d/Autostart-Symlinks

    Wenn ihr dann auf die Konfigurationsseite geht sollte das dann in etwa so aussehen:


    Bildschirmfoto 2026-06-14 um 02.04.33.png



    Ab jetzt seid ihr mit allen Clients im WoMo Werbefrei unterwegs. In der WebUI kann man natürlich auch den Filter stoppen oder für eine gewissen Zeit pausieren. Aktuell sind bereits Sperrlisten vorkonfiguriert die über das Filtermenü natürlich erweitert werden können, genauso können DNS Anfragen auch freigeben werden. Wenn ihr Kids mit an Board habt und sie ärgern wollt könnte man sogar bestimmte Dienste sperren...


    Bildschirmfoto 2026-06-14 um 02.49.25.pngBildschirmfoto 2026-06-14 um 02.49.35.pngBildschirmfoto 2026-06-14 um 02.49.47.png



    Falls ihr es nicht mehr nutzen wollte könnt ihr es auch einfach wieder entfernen


    Deinstallation



    Viel Spass beim "nachbauen"....

  • Moin, Stefan


    mal ne Frage:

    wie lange dauert das für einen Profi, wie dich?


    Wäre das nicht ein Thema für das Linertreffen? Würde meinen RutX50 für eine Demo-Aktion zur Verfügung stellen! Grins


    Wolfgang

  • Moin Stefan,

    Chapeau! Liest sich alles sehe, sehr gut. Du kennst Dich nicht nur beeindruckend gut aus sondern kannst es auch gut erklären.


    Glaubst Du das ginge auch auf einem SelfSat Router? Der ist ab Werk in unsrem Palace verbaut. Wenn er doch nur endlich da wäre….


    Liebe Grüße

    Thorsten


    PS: ich freue mich schon sehr auf das Bier mit Dir!

  • Hi Stefan,

    ich habe alles nach deiner Anleitung installiert. Punkt 1-4 gingen problemlos, habe auch den Inhalt der Dateien mit cat \.... ansehen können. Bei Punkt 5 bekomme ich den Service nicht zum laufen. Ich habe da erst mal keine Idee.


    Habe einen RUTX50

    Viele Grüße

    Thomas


    root@router:~# netstat -tlnp

    Active Internet connections (only servers)

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4749/uhttpd

    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 4959/dropbear

    tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3956/dnsmasq

    tcp 0 0 192.168.48.1:53 0.0.0.0:* LISTEN 3956/dnsmasq

    tcp 0 0 46.114.135.219:53 0.0.0.0:* LISTEN 3956/dnsmasq

    tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 4749/uhttpd

    tcp 0 0 fe80::3376:c102:a536:70d9:53 :::* LISTEN 3956/dnsmasq

    tcp 0 0 :::80 :::* LISTEN 4749/uhttpd

    tcp 0 0 fdaf:eb54:76f0::1:53 :::* LISTEN 3956/dnsmasq

    tcp 0 0 :::22 :::* LISTEN 4959/dropbear

    tcp 0 0 fe80::2297:27ff:fe0d:cc4a:53 :::* LISTEN 3956/dnsmasq

    tcp 0 0 ::1:53 :::* LISTEN 3956/dnsmasq

    tcp 0 0 fe80::2996:fdc7:d9d8:be67:53 :::* LISTEN 3956/dnsmasq

    tcp 0 0 fe80::2297:27ff:fe0d:cc4d:53 :::* LISTEN 3956/dnsmasq

    tcp 0 0 :::443 :::* LISTEN 4749/uhttpd

    tcp 0 0 fe80::2297:27ff:fe0d:cc4c:53 :::* LISTEN 3956/dnsmasq

  • Lieber Thomas


    Zeig mir mal bitte den Inhalt von "/etc/init.d/adguardhome"


    und führ mal bitte folgenden Befehl aus und zeig mir was Du bekommst?


    Code
    ls -lisa /etc/init.d/adguardhome
  • Hi Stefan,

    hier die angefragten Informationen. Ich kann nur zeitversetzt und meistens abends online sein, fahre gerade durch Norwegen.


    Vielen Dank für deine Mühen und viele Grüße

    Thomas



    root@router:~# cat /etc/init.d/adguardhome

    #!/bin/sh /etc/rc.common


    START=99

    STOP=10

    USE_PROCD=1


    PROG=/usr/local/bin/AdGuardHome

    CONFDIR=/etc/adguardhome

    CONFFILE=$CONFDIR/AdGuardHome.yaml


    start_service() {

    mkdir -p $CONFDIR/data


    procd_open_instance

    procd_set_param command $PROG -c $CONFFILE -w $CONFDIR --no-check-update

    procd_set_param respawn

    procd_set_param stdout 1

    procd_set_param stderr 1

    procd_close_instance

    }


    stop_service() {

    killall AdGuardHome 2>/dev/null

    }

    root@router:~#



    root@router:~# ls -lisa /etc/init.d/adguardhome

    29844 4 -rwxr-xr-x 1 root root 465 Jun 25 21:49 /etc/init.d/adguardhome

    root@router:~#

  • Ok das passt - jetzt noch bitte


    Code
    cat /etc/adguardhome/AdGuardHome.yaml

    Ich vermute dass es die yaml zerrissen hat...

  • root@router:~# cat /etc/adguardhome/AdGuardHome.yaml

    http:

    pprof:

    port: 6060

    enabled: false

    address: 0.0.0.0:3080

    session_ttl: 720h

    users: []

    auth_attempts: 5

    block_auth_min: 15

    language: de

    theme: auto

    dns:

    bind_hosts:

    - 0.0.0.0

    port: 5353

    anonymize_client_ip: false

    ratelimit: 20

    refuse_any: true

    upstream_dns:

    - https://dns.cloudflare.com/dns-query

    - https://dns.google/dns-query

    bootstrap_dns:

    - 1.1.1.1

    - 8.8.8.8

    upstream_mode: load_balance

    cache_size: 4194304

    cache_optimistic: true

    enable_dnssec: true

    serve_plain_dns: true

    hostsfile_enabled: true

    tls:

    enabled: false

    querylog:

    interval: 24h

    size_memory: 1000

    enabled: true

    file_enabled: true

    statistics:

    interval: 24h

    enabled: true

    filters:

    - enabled: true

    url: https://adguardteam.github.io/…istry/assets/filter_1.txt

    name: AdGuard DNS filter

    id: 1

    - enabled: true

    url: https://adguardteam.github.io/…istry/assets/filter_2.txt

    name: AdAway Default Blocklist

    id: 2

    dhcp:

    enabled: false

    filtering:

    blocking_mode: default

    filtering_enabled: true

    protection_enabled: true

    schema_version: 29

    root@router:~#

  • This threads contains 19 more posts that have been hidden for guests, please register yourself or log-in to continue reading.

Participate now!

Don't have a user account on our site yet? Register for free and enjoy all the benefits of the DigiCamper Community!