Skip to main content

AdGuard Home

Installation

Bitte erst verstehen was hier gemacht wird. Dies kommt aus meiner Hand und erzwingt Downloadmethoden falls keine passenden Programme installiert sind. Befehle im Wiki von Adguard oder unten mit wget.

url="https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh"
download_commands=("curl -s -S -L" "wget --no-verbose -O -" "fetch -o -")
installed=()

if [ "$EUID" -ne 0 ]
  then echo "Please run as root or use sudo"
  exit
fi


for cmd in "${download_commands[@]}"; do
    if command -v ${cmd%% *} >/dev/null 2>&1; then
        echo "using ${cmd%% *}..."
        ${cmd} $url | sh -s -- -v && exit
    else
        echo "${cmd%% *} not found. Attempting to install ${cmd%% *}..."
        sudo apt-get update && sudo apt-get install -y ${cmd%% *}
        if command -v ${cmd%% *} >/dev/null 2>&1; then
            echo "${cmd%% *} installed successfully. Using ${cmd%% *} for installation..."
            ${cmd} $url | sh -s -- -v && exit
            installed+=(${cmd%% *})
        else
            echo "Error: Failed to install ${cmd%% *}. Please install a suitable download method (curl, wget or fetch) manually and try again..."
            exit 1
        fi
    fi
done

sudo ./AdGuardHome -s install
sudo ./AdGuardHome -s start

# Uninstall the installed download tools
for cmd in "${installed[@]}"; do
    sudo apt-get remove -y ${cmd}
done

Danach Webinterface auf :3000 durchklicken und Router-DNS auf die IP der Maschine setzen

Weniger komplex, dafür kein durchlaufendes script mehr:

wget --no-verbose -O - https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s -- -v
sudo ./AdGuardHome -s install
sudo ./AdGuardHome -s start

Blocklists

AdGuard spiegelt die Listen im eigenen GitHub Repo, das ist unschön, also in allen Listen diese Stelle anschauen und Listen-URLs entsprechend anpassen:

! Source: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt

Whitelists

  • Hagezi Referral (wenn man viel Internet-Shopping macht)
  • uBlock unbreak (von den uBlock Origin Machern genutzt um Seiten zu reparieren, die mit der Extension sonst kaputt gehen würden)

Quellen für Listen 

Viele Listen sind klassische Adblock Listen, die ziehen bei DNS aus unten genannten Gründen nicht, weil sie keine Domains, sondern Seiteninhalte definieren. Daher muss spezifisch nach DNS-Blocklisten gesucht werden.
Adblock-Syntax wird auch interpretiert, allerdings nur die explizit erwähnten ganzen Domains.

Github Listen über CDN ziehen

Tut den Listenerstellern ein Gefallen und zieht Listen von Github über ein Gratis CDN für Github-Projekte

https://cdn.jsdelivr.net/gh/USERNAME/REPO@latest/PATH

z.B. https://blocklistproject.github.io/Lists/alt-version/drugs-nl.txt -> https://cdn.jsdelivr.net/gh/blocklistproject/Lists@latest/alt-version/drugs-nl.txt

Upstream DNS

Erfahrungsgemäß ist die "Parallel Requests" Option etwas schneller. Ich empfehle eine größere Liste in den ersten Monaten mit Parallel Requests laufen zu lassen bis sich die für euch auf Dauer fünf schnellsten DNS herauskristallisiert haben. Dann Liste entsprechend kürzen. 30-40 Requests von denen letztendlich nur einer genommen wird ist für euch eventuell gut, erzeugt aber recht viel unnötigen overhead.

Average Upstream Response Time

aus 24h Statistiken

alles darüber ist mir zu langsam für DNS

Einschränkungen

Keine kosmetischen Filter

Einzelne Seitenelemente von Websites, z.B. Cookie-Banner, die von der gleichen Domain wie die Website auf der sie angezeigt werden sollen kommen, können auf DNS-Ebene nicht blockiert werden. Hier müsste man mit einem Zusammenspiel z.B. mit uBlock Origin oder "I don't care about cookies" arbeiten, die dann auch einzelne #div-Elemente blockieren können. Ginge auch mit der Windows-Version von Adguard, wenns Systemweit sein soll, dann muss man aber auf Feature-Dopplungen mit AdGuard Home achten.

Es gibt deshalb schon einen Proxy-Server von AdGuard, dessen Funktion aber nicht in AdGuard Home übernommen ist.

Keine Adblock-DNS als Upstream nutzen

Das Blocking passiert nun lokal bei euch, wenn ihr also als Upstream-DNS nur öffentliche Adblock-DNS nutzt kann AdGuard den lokalen Cache nicht richtig aufbauen, weil manches angefragte wegen Adblocking vom Upstream-DNS nicht beantwortet wird.

unbreak stuff

nur eine Liste der Dinge die bei meiner Filterkonstellation false positives waren. Formatiert als Ausnahmeregeln

# MS Copilot unbreak
@@||*.data.microsoft.com^$important

# sonos radio unbreak
# src: https://en.community.sonos.com/components-and-architectural-228999/sonos-no-longer-works-if-i-block-their-metric-tracking-dns-6850485
@@||msmetrics.ws.sonos.com^$important

# genuine shops I want to access
@@||*.banggood.com^$important

# logitech updates
# src https://de.hub.sync.logitech.com/syncguides/post/firewall-and-proxy-setup-information-for-sync-Y5VKr0FBrwgr4Bg
@@||datapipeline.logitech.io^$important
@@||ghub.logitech.io^$important
@@||*.prod.logitech.io^$important
@@||lb-ghub-3024720.us-west-1.elb.amazonaws.com^$important
@@||cognito-idp.us-west-2.amazonaws.com^$important
@@||*.vc.logitech.com^$important
@@||*.sync.logitech.com^$important
@@||22ulqg35c4-dsn.algolia.net^$important