AdGuard Home à la place de Pi-hole

Pi-hole est solution permettant le blocage de publicités sur réseau. Il fonctionne tel un serveur DNS primaire capable de filtrer et bloquer des publicités. Inutile d’avoir un bloqueur de publicité sur votre ordinateur, smartphone, console, TV… Pi-hole s’occupe de tout, car il fonctionne pour avec les appareils connectés sur votre réseau. Installé sur un Raspberry Pi chez moi, Pi-hole a rapidement posé quelques problèmes. Je suis passé sur AdGuard Home qui offre les mêmes possibilités et le résultat est sans appel : meilleures performances, interface moderne et meilleure stabilité.

pi hole vs adguard - AdGuard Home à la place de Pi-hole

Pi-hole et AdGuard Home

Jusqu’à présent, j’utilisai une extension de blocage des publicités (adblock) sur mon navigateur préféré. J’ai une préférence pour uBlock. Sur smartphone, il existe des solutions, mais je n’ai rien installé. Il y a plusieurs semaines, je suis retombé sur un vieux Raspberry Pi modèle B Rev. 2 dans un tiroir. J’ai tenté l’expérience Pi-hole et malheureusement, ce ne fut pas aussi incroyable qu’escompté…

Pi-hole : décevant

Je me suis lancé, installé Pi-hole sur une carte SD fraîchement préparée avec Raspberry Pi OS… Il faut avouer que l’outil est assez sympa. Sur le réseau, il a un rôle de DNS primaire pour intercepter les publicités. L’installation est simple, l’outil est très complet grâce à une interface Web agréable. Celle-ci est en anglais uniquement, mais ce n’est pas trop gênant.

pi hole - AdGuard Home à la place de Pi-hole

Les menus sont nombreux, un peu trop à mon gout, et on peut vite s’y perdre. J’ai laissé la configuration par défaut (listes) et je l’ai utilisée avec un ordinateur et un iPhone dans un premier temps (DNS saisit à la main). Comme j’étais convaincue, j’ai basculé tous les membres de la famille en paramétrant le Pi-hole comme DNS par défaut à la maison. Pour ce faire, j’ai renseigné l’adresse IP du Pi-hole au niveau du serveur DHCP. Sauf que voilà, ça n’a pas fonctionné comme prévu. Plusieurs publicités passaient entre les mailles du filet, malgré l’ajout de nouvelles listes et mises à jour.

Sans trop savoir pourquoi, le Pi-hole laisse passer des requêtes… à moins que ce soit le routeur qui, n’ayant pas de réponse assez rapide, se replie sur le DNS secondaire non filtrant.

AdGuard Home : ultime solution ?

Sur le Forum des NAS, on avait déjà abordé le sujet AdGuard Home (merci EVOTk). Il a le même fonctionnement que Pi-hole : DNS. Comme ce dernier ne me convenait pas à 100%, j’ai décidé de le désactiver, temporairement, pour tester AdGuard Home. J’ai donc fait cela un soir, pour ne pas déranger la famille. En moins de 5 minutes, le système était en place.

curl -sSL https://raw.githubusercontent.com/AdguardTeam/AdGuardHome/master/scripts/install.sh | sh -s edge

Malheureusement, Pi-hole et AdGuard Home partage les mêmes ports de communication… (notamment le port 53 pour le DNS). J’ai donc dû désinstaller Pi-hole complètement, mais je ne le regrette pas.

AdGuard Home - AdGuard Home à la place de Pi-hole

AdGuard Home dispose d’une interface moderne et plus épurée que Pi-hole. J’apprécie que celle-ci soit 100% traduite en français et dans de nombreuses autres langues. La mise à jour des listes est automatisée et la mise à jour AdGuard peut se faire depuis l’interface Web (un alerte s’affiche et on clique sur un bouton). L’interface Web est également redoutable depuis un smartphone.

Cette dernière est tout aussi rapide sur Pi-hole et le seul reproche que je pourrais lui faire, c’est que sur la page des Paramètres DNS. Elle est peut-être un peu moins facile à prendre en main. Comme on ne paramètre cette section qu’une seule fois, on l’excusera… surtout que contrairement à Pi-hole, AdGuard propose en standard le DNS-over-TLS chiffré, DNS-over-HTTPS chiffré, DNS-over-QUIC chiffré… À noter, par défaut, on est sur un DNS-over-HTTPS chiffré servi par quad9.net. Il sera possible également de chiffrer vos échanges avec AdGuard Home (en local), si besoin.

Au quotidien, après quelques jours d’utilisation, je n’ai plus de publicité qui se faufile entre 2 pages. Auparavant, j’avais environ 8% de blocage, je suis maintenant entre 13% et 15% avec seulement 3 listes.

AdGuard Home intègre aussi un outil de contrôle parental, un renforcement de la recherche (Google, Bing, DuckDuckGo…), la possibilité de bloquer des sites et services en deux clics (YouTube, Snapchat, Steam, Twitch, TikTok…).

Conclusion

Vous l’aurez compris, pour moi, AdGuard Home répond complétement à mes attentes. Je ne regrette pas Pi-hole même s’il avait quelques avantages. Ce que j’aimai par exemple, qui n’est pas repris dans AdGuard, c’est d’avoir la charge CPU et la température du Raspberry Pi depuis l’interface Web. OK, ça ne sert pas à grand-chose… mais je trouvais ça sympa. Aussi, les 2 outils proposent la fonction appelée DNS cache. Comme son nom l’indique, cela permet de stocker une partie des requêtes pour répondre plus rapidement aux demandes (quelques millisecondes). Oui, le cache permet d’améliorer encore un peu plus la vitesse de votre Internet. Sur Pi-hole, on avait une vision claire de son usage, ce n’est pas le cas avec AdGuard Home.

AdGuard Home est gratuit et le code source est librement accessible et modifiable sur GitHub. AdGuard se finance grâce à ses autres logiciels fonctionnant par abonnement (mensuel, annuel, à vie). Pi-hole se finance grâce aux dons.

Si vous n’êtes pas pleinement satisfait de Pi-hole, sachez qu’il est existe une alternative : AdGuard Home. Si votre coeur balance entre les deux, le mieux, c’est de les tester… mais sincèrement, j’ai ma préférence.

  1. Le pi-hole qui laisse passer la pub, très certainement mal configuré, ça sent le DNS IPv6 pas listé dans le DHCP qui part chez celui de l’opérateur…

      1. Je confirme : si vous configurez un DNS secondaire en plus du DNS 1 sur pihole, des pubs vont s’infiltrer.
        C’est une erreur de config de la part de l’auteur.

        1. Hello,
          J’avais le même souci avec macOS et LinuxMint… mais aussi sur les smartphones (iPhone/Safari par exemple).
          Je ne remets pas en cause vos propos, mais depuis le changement de Pi-Hole vers AdGuard, plus aucune publicité ne passe. Hasard ?
          Aussi, vous noterez que je ne dis pas à aucun moment que Pi-Hole n’est pas un bon logiciel (au contraire) mais qu’avec mon Raspberry Pi et ma configuration, des publicités se sont glissées. AdGuard, lui, n’a rien laissé passé. Je n’ai pas attendu un jour avec de publier cet article… Ce n’est pas mon genre.

  2. Hey ! je vais tester, j’étais déçu de PiHole qui ne gère pas les pubs sur Youtube et j’étais revenu à la bonne vieille extension bloqueuse de pub directement dans le navigateur …

  3. J’avoue avoir délaissé sans regrets Pi-Hole pour AdguardHome depuis plusieurs mois, seule différence, il est installé directement sur le Syno via docker (en suivant ce tuto https://www.wundertech.net/how-to-install-adguard-home-on-a-synology-nas/ ).

    Le seul désagrément, c’est qu’il faut lui configurer un certificats SSL sous la forme fullchain.pem et privkey.pem et si l’on veut utiliser celui du Syno, la fonction d’export du certificat de DSM ne permet de récupérer que chain.pem. Du coup, il faut aller chercher le certificat fullchain.pem à la main en SSH sur le Syno, une fois tous les trois mois.

  4. Tout à fait, l’installation via docker sur Syno ressemble d’ailleurs beaucoup à celle de Pi-Hole (voir le lien du tuto dans mon précédent message).
    Je reviens sur l’histoire du certificat SSL à récupérer à la main en SSH, voici un petit pense bête que je me suis fait, sachant qu’il faut être root:

    les certificats Let’s Encrypt du Syno sont dans /usr/syno/etc/certificate/_archive

    une fois dans ce dossier, faire un « cat DEFAULT » pour savoir quel dossier contient ceux en usage actuellement, puis copier privkey.pem et fullchain.pem dans le dossier cert d’AdguardHome (exemple volume1/docker/Adguard/data/cert)
    Donc, si le dossier contenant les certificats est 1nUGLI, cela donne:
    cp usr/syno/etc/certificate/_archive/1nUGLI/fullchain.pem /volume1/docker/Adguard/data/cert

    cp usr/syno/etc/certificate/_archive/1nUGLI/privkey.pem /volume1/docker/Adguard/data/cert

    Je ne sais pas si on pourrait en faire un script pérenne car il me semble que le nom de dossier du certificat se modifie dans le temps, je devais me pencher sur la question mais ça m’est sorti de la tête.

    1. De mémoire, les certificats Let’s Encrypt du NAS sont dans des répertoires pérennes.
      Le nom du répertoire est aléatoire, créé à la génération initiale du certificat.

  5. salut!

    effectivement, il faut trouvé pour pi-hole les bonnes liste de blocage.
    ce qui est assez drole, c’est que malgrès un bon fonctionnement des listes, sur une navigateur de la maison ayant en plus une extension de blocage style adblock plus, ce dernier indique quand même des blocage, ceci est logique car l’extension travaille sur le code de la page web qui indique quand même les sources de pub. mais il travaille pour rien dans ce cas.

    1- qq test à refaire, j’ai très mal noté mes retours de listes mais il faut essayer celle-ci :
    2- https://github.com/chadmayfield/my-pihole-blocklists il y a sur la page 3 type de listes
    3- pour le porn : https://github.com/chadmayfield/my-pihole-blocklists => https://raw.githubusercontent.com/chadmayfield/pihole-blocklists/master/lists/pi_blocklist_porn_all.list

    pour les pubs dans youtube : vu sur https://www.smarthomebeginner.com/pi-hole-setup-guide/
    https://gist.githubusercontent.com/anudeepND/adac7982307fec6ee23605e281a57f1a/raw/5b8582b906a9497624c3f3187a49ebc23a9cf2fb/Test.txt

    sinon docker pour adguard , je viens de trouver çà que je vais tester ce week-end pour ne pas mourir idiot.
    https://www.looic.com/2020/04/adguard-nas-synology/

    1. Un autre avantage avec AdGuard ou Pi-Hole, c’est que tu peux retirer l’extension de ton navigateur. Ça le rend plus rapide au lancement et il prend moins de mémoire…

      Bon OK, avec une machine récente et un peu gonflée (CPU/RAM), ce n’est pas forcément un problème 😉

      La publicité YouTube est bloquée avec la liste par défaut sur AdGuard. La liste que tu proposes bloque la pub pre-roll ?

      1. AdGuard ou pi-hole ne sont pas des proxy MITM! Ils bloquent les requêtes DNS des domaines de pubs mais pas le contenu « imbriqués » dans le code HTML ou JS où ces bloqueurs ne peuvent rien faire, contrairement à une extension navigateur. Les deux sont complémentaires

      2. oui et non, dans le cas d’un pc portable, si tu enlèves les extensions, tu auras les pubs quand tu n’es pas chez toi… donc en effet elles sont complèmentaires

      3. Pour moi les extensions de navigateurs restent indispensable, pihole/adguard sont un « plus » mais ne dispense pas de l’utilisation des extensions.
        ublock permet par exemple de modeler un site pour suprimer des parties, ou bloquer des scripts « interne » au site, … Ce que ne permet pas un DNS menteur.

  6. Hello,
    Je ne suis pas trop d’accord avec l’article, j’ai les deux sur VM Hyper-V (je trouve ça plus pratique que des raspberry) avec 3 millions de domaines bloqués principalement de https://blocklist.site, j’utilise exclusivement Pi-hole mais j’avais laissé Adguard le temps de tester et pour avoir un secours si besoin.
    Coté stabilité, je n’ai jamais eu un seul plantage avec pi-hole.
    Pour l’interface, préférence également pour Pi-hole, mais peut être a cause de son theme black que adguard n’a pas.

    Les paramètres, c’est justement ce qui fait l’avantage de Pi-hole pour une config au petits oignons, même s’il en manque encore quelqu’une je trouve.
    Si on trouve qu’il y en a trop, il faut peut être éviter les dns maison 🙂

    L’on retrouve aussi les filtre par groupe, un groupe smartphone par exemple qui ont des filtres supplémentaire que sur le groupe PC.
    Ces groupes n’existent pas sur Adguard, soit on filtre pour tous, ou pour personne.

    Le seul point positif que j’ai pu trouver à Adguard, c’est la maj automatique sans passer en ligne de commande.
    Hormis ça, de mon coté c’est gros avantage Pi-hole.

    1. Non, AdguardHome permet également de faire des règles spécifiques à chaque machine, c’est dans Paramètres/Paramètres du client.

      1. Oui mais tu ne peux pas gérer des groupes. De plus Adguard est plus gourmand que pihole, et surtout, quand il fait sa MAJ des listes de blocage, il est incapable de répondre aux requêtes DNS, ce qui est un peu embêtant quand tu l’installes sur une Raspberry Pi 3 qui est plus limité en puissance qu’un nas.

  7. Un petit tableau comparatif et commenté par un dev pihole des différences entre Pi-Hole 5 et AdguardHome: https://www.reddit.com/r/pihole/comments/gwe9jr/pi_hole_5_vs_adguard_home/

    Rien que le fait qu’Adguard Home soit cross-platform est un plus (windows, mac, freeBSD, linux ARM et Mips donc possibilité de le faire tourner directement sur un routeur Openwrt ou autre!): https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started#installation

    Tuto d’installation OpenWRT: https://forum.openwrt.org/t/howto-running-adguard-home-on-openwrt/51678

  8. « à moins que ce soit le routeur qui, n’ayant pas de réponse assez rapide, se replie sur le DNS secondaire non filtrant. »

    LOL

    C’est juste que beaucoup de smartphones et autres ont des DNS codés en dur…
    Du coup suffit de faire un NAT du 53 sortant et le forcer vers PiHole (avec masquerade pour que ça soit invisible).

    Niveau stabilité et rapidité je ne vois pas ce qu’on peut reprocher à PiHole.

    1. Hello,
      C’est mal connaitre ma configuration et mes paramétrages. De plus, j’ai pris le temps de faire des tests pendant plusieurs jours avant de publier cet article.
      J’ai eu des soucis avec mon iPhone/Safari. À ma connaissance, les DNS ne sont pas codés en dur puisqu’il est facile de les contrôler/modifier. De plus, j’ai eu les mêmes soucis sous LinuxMint et macOS. À moins qu’eux aussi aient des DNS codés en dur…
      Je pense que le souci n’est pas de ce côté. De plus, depuis le passage sur AdGuard, je n’ai plus aucun souci. Curieux hasard, mais je reste ouvert 😉

    1. Il n’est pas forcément possible ou facile de changer les DNS de tous les appareils sur le réseau.
      Apres pihole ou adguard qui peut également servir de serveur DHCP, cela deviens beaucoup plus simple et transparent pour les utilisateurs du reseau.

      1. Je pensais surtout à changer les DNS au niveau de la box ou du routeur.
        Je n’ai pas fait de test mais je me demande vraiment si le peu de requêtes en cache permet de gagner du temps compte tenu que l’on va souvent héberger son pihole ou autre sur une VM relativement light.

    1. Salut,
      Si piHole t’empeche d’aller sur 6ter cela veut dire qu’il est trop strict, il faut aller dans les logs pour débloquer des choses.
      Si tu regles AdGuard aussi strict tu aura le meme soucis.
      C’est un soucis de réglage, et non du logiciel.

  9. Hello, il y a méprise sur les dns primaires et secondaires. Il ne faut pas voir cela comme une prio de dns comme lu ci dessus (ou alors Windows qui ne gererait pas). Lors d’une requête DNS , le client choisit librement un des DNS listés, il n’y a pas de fallback du primaire vers le secondaire. Cela explique que tu aies de la pub de temps en temps. Ce n’est pas PiHole qui dysfonctionne , c’est le comportement normal.

    1. Hello,
      Ce n’est pas les notions que j’ai apprises par le passé… Mais, je me fais un peu vieux (mes ados me le répètent souvent), donc je veux bien te croire. Cependant, après recherche sur Google, ce n’est pas ce que j’ai lu (au moins les 5 premiers sites consultés).
      Comme j’aime bien regarder un peu plus loin que ce qu’on trouve sur Internet, j’ai pris tout simplement la documentation du fabricant de mon routeur et sa gestion. Je cite : « If the primary DNS server fails, the secondary DNS will be your default DNS server » ce que je comprends « Si le serveur DNS primaire tombe en panne, le DNS secondaire sera votre serveur DNS par défaut ». J’ai tendance à les croire puisque c’est eux qui ont fabriqué le produit et développé le logiciel à l’intérieur. Sur Apple (souci constaté avec macOS), il est indiqué concernant les DNS : « La recherche des domaines s’effectue dans l’ordre où vous avez entré ces derniers et elle s’interrompt lorsqu’un nom valide a été trouvé ».
      Aussi, si on suit ton argument (même s’il ne s’applique pas à mon cas), comme je n’ai pas touché à ma configuration DHCP (DNS Primaire/DNS Secondaire)… je devrais avoir le même souci (publicité qui s’affiche de temps en temps) avec AdGuard : ce qui n’est pas le cas.
      Hasard ? Je ne pense pas… mais je reste ouvert et je ne dis nullement que je ne retournerai pas sous Pi-Hole 🙂

  10. Je n’ai pas du tout regardé comment ça fonctionnait, mais peut-être que Pi-Hole ne résoud pas le nom, d’où le fallback, alors que AdGuard le résoud avec une IP bidon (genre 127.0.0.1 ou autre) ?

  11. Bonsoir,
    Merci pour cet article, j’ai eu envie de tester de suite sur mon Raspberry, mais j’aurais besoin d’un petit coup de pouce : le port 3000 est occupé par grafana, mais j’ai quand même installé AdGuard … comment puis-je changé son port pour pouvoir le configurer via le navigateur ?

    Merci à vous.
    Julien

    1. Ton grafana et sur le même pi ? Sinon a voir il y a peut être moyen de le changer dans un fichier. Le port 3000 et juste là le temps de l’installation ensuite il devient 80.

  12. Perso j’ai viré toutes ces solutions annexes et je suis passé sur quelque chose de beaucoup plus intégré / simple : Diversion, installé directement côté routeur.

    https://diversion.ch/diversion/diversion.html

    Du coup tous mes devices locaux sont couverts quels que soit le moyen de connexion (RJ45, WIFI, PC, tablette, VM, …) sans rien avoir à faire. Pratique. Facile à installer et à mettre à jour. Evidemment il n’y a plus toute la partie d’administration par le web : mais à l’usage je m’en passe très bien.

    Seul inconvénient : il me semble que çà ne fonctionne que sur routeurs ASUS. Et encore, seulement si le firmware alternatif Asus Merlin y est installé (mais c’est chaudement recommandé pour tout possesseur d’un routeur de cette marque).

  13. Merci à toute l’équipe pour m’avoir fait découvrir « ADGUARD » et à l’un des commentaires posté ici qui donnait le lien pour un tuto d’installation avec Dockers.

    C’est génial le partage d’infos 😉

  14. Merci également, je viens de remplacer le Docker Pihole de mon synology par le docker AdGuard Home. Ayant déjà AdGuard avec licence sur mon tel depuis des années j’en étais pleinement satisfait.

    Pour l’instant un défaut relevé c’est l’option de recherche sécurisée « Enforce safe search » qui fonctionne très bien… trop bien… du coup certaine video youtube sans contenu dérangeant sont bloquées. Il aurait fallu pouvoir sélectionner où appliquer la règle.

    Pour le reste ça fonctionne parfaitement, les blocklists de pihole et sebsauvage sont compatibles.

    hxxps://sebsauvage.net/wiki/doku.php?id=dns-blocklist
    hxxps://firebog.net/

    Le délai de prise en compte des modifications légèrement moins réactif que Pihole.

  15. Je tournais sur pihole depuis 2 ou 3 ans sans aucun probleme avec un résultat satisfaisant mais je teste avec plaisir cette solution par contre je ne trouve le moyen de mettre mon dns local pour résoudre les noms de machines . Mon DHCP est géré par un routeur Ubuiquiti, sur le pihole ca fonctionnait mais la même en rajoutant l’ip de ce dernier dans le DNS , la résolution locale ne se fait pas . si vous avez une idée.

    Sinon après quelques heures ca parait pas mal . A voir sur la distance

    Avant je tournais mon pihole sur une VM debian sur l’esx mais l’install de adguard sur un docker de mon xpenology est tres rapide et plutôt simple.

    1. Je ne suis pas sûr d’avoir compris, mais s’il s’agit d’ajouter des résolutions de nom pour les hôtes de ton réseau local… c’est possible depuis l’interface Web AdGuard Home. Regarde du côté de menu Filtres puis Réécritures DNS

  16. Donc oui j’ai trouvé en rajoutant dans clients une ip associée a un nom de machine mais comme je le gere déjà sur mon dhcp, je ne vois pas l’utilisé de le faire en double

  17. Bonjour,

    Merci pour ces info intéressantes.
    Mais existe il un package directement utilisable sur Synologie sans passé par docker ?
    … surtout lorsque le Syno est un peut ancien ?
    Certe la solution de passé par raspberry est intéressante mais je trouve dommage de devoir ajouter un composant matériel pour accéder à ces solution.
    Merci

    1. Hello Mikcro,

      Oui c’est possible. Je viens de faire un test en téléchargeant l’exécutable directement sur le GitHub. Il faut le lancer avec la commande sudo mais ça marche. Il est possible de l’installer en tant que service :
      sudo ./AdGuardHome -s install
      Password:
      2020/11/15 15:24:31 [info] Service control action: install
      2020/11/15 15:24:33 [info] Service has been started
      2020/11/15 15:24:33 [info] Action install has been done successfully on linux-systemd
      Ça serait plus propre avec un fichier .spk, je te l’accorde 😉

    2. Alors que mon NAS est tout a fait capable de gérer AdGuard, ou PiHole, … Je prefere le placer sur un raspberry afin que les périphériques du réseau ne soit pas dépendant du NAS.

    1. Intéressant, merci du partage…
      Ça devrait le faire avec un Synology RT2600ac ou MR2200ac également. Il faut que j’essaye ça 🙂

  18. J’ai testé HGH sur une Pi2 pendant le 1er confinement et j’ai l’expérience inverse. A l’époque, avant la v5 de Pi-hole, HGH avait des options sympas mais Pi-hole a depuis complètement rattrappé son retard. Le simple fait de mettre un nom de domaine en white / black list me faisait planter ma Pi pendant 5min ; processeurs à 100% et perte du réseau et le serveur DHCP était encore en beta.
    Et aucune telemetry sur Pi-hole
    Après il faut garder uBlock car celui-ci peut bloquer les pubs de twitch et YT si bien paramétré
    J’utilise depuis 2 ans Pi-hole avec unbound et zram sans problème.
    Après il y vrai que pour un néophyte, HGH est en FR et son paramètrage est beaucoup mieux expliqué.
    Une fois que l’on a goûté à une de ces solutions, on ne peut plus s’en passé !

  19. bonjour

    j ai eut 2 plantage ce soir sur mon rpi3A avec ADGUARD.
    Etant chez Orange obligé de changer les DNS sur les clients car impossible sur la livebox.
    Par contre je suis effaré par le nombre de requête de l apple TV , c est quasiment 1/3 je trouve cela énorme il n y a pas de pub pourtant sauf dans quelque replay.

    Pour les plantages cela ressemble à ceux d epi7ou.

    Bref pour le moment plutôt content malgré tout.

  20. Salut à tous,
    Je cherche le moyen de configurer un proxy wpad dans les options DHCPD de AdguardHome mais pas trouvé. C’est ce qui me manque versus Pi-Hole…
    Si vous avez une info, merci !

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.