Aujourd’hui, la publicité envahit internet, si bien que des logiciels ont été réalisés pour bloquer les publicités et ne plus les afficher: les adblockers. Il s’agit souvent d’extensions ou plugins à installer sur notre navigateur internet. La principale contrainte est de devoir installer cela sur chaque appareil: ordinateur, tablette, smartphone, etc. sans compter que cela est impossible sur certains périphériques, tels que les TV ou consoles par exemple. Et si on filtrait les publicités directement à la source ? C’est ce que permet Pi-Hole, un logiciel open source extrêmement bien réalisé. Une fois mis en place, tout le trafic internet passe par Pi-Hole, qui se charge de nettoyer les sites des publicités. Il filtre en fait toutes les requêtes DNS grâce à des listes de domaines bloqués, comme le fait par exemple AdBlock. Son gros avantage: une seule installation, effective automatiquement sur tous les appareils de la maison, de l’ordinateur au smartphone, en passant même par la TV et les consoles de jeux.
I. Installation de Pi-Hole sur une machine virtuelle
A la base, Pi-Hole a été réalisé pour être installé sur un Raspberry Pi. Cela permet d’obtenir un bloqueur de publicité hardware à peu de frais. Mais il peut être installé sur tout type de machine tournant sous Linux, et même sous forme de Docker. Ici je l’ai installé sous forme de machine virtuelle sur mon Nas Synology (comme je l’avais expliqué dans mon article pour installer Jeedom en machine virtuelle sur Synology, c’est exactement le même principe).

Bref, pour commencer, il nous faut donc une machine sous Linux, qu’elle soit physique (exemple Raspberry Pi) ou virtuelle (ici Virtual Manager sur Synology). Cela concerne aussi bien Debian, Ubuntu, Fedora, CentOS, ou encore Raspbian. Pi-Hole est peu gourmand en ressources, puisqu’il demandera moins de 100Mo sur disque dur, et 512Mo de Ram. C’est pourquoi il peut tout à fait fonctionner sur un Raspberry Pi.
Note: Avant de commencer, effectuez un test de vitesse sur speedcheck.org par exemple pour vous assurer que votre connexion Internet est suffisamment rapide.
Une fois la machine prête, on s’y connecte en SSH, et on tape ces deux commandes:
wget -O basic-install.sh https://install.pi-hole.net
sudo bash basic-install.sh
La première ligne va récupérer le script d’installation, et la seconde va l’exécuter, pour lancer l’installation de Pi-Hole.
Le script effectue quelques vérifications au lancement, pour s’assurer que la configuration de la machine est correcte.
Une fois validée, des paquets nécessaires à l’installation sont téléchargés.
Puis l’installation proprement dite démarre.
Il nous est conseillé d’utiliser une adresse IP fixe. Logique, puisque tous les appareils devront se connecter à Pi-Hole pour filtrer la publicité. Avec une adresse qui ne cesse de changer, cela pourrait poser des soucis…
Il nous faut ensuite choisir un serveur DNS, ce serveur qui fait la liaison entre les noms des sites que nous visitons et leurs adresses IP. Ici j’ai opté pour Quad9, un petit nouveau, public, et accessible de manière sécurisée et sans logs, pour protéger sa vie privée).
Une liste contenant tous les serveurs de publicités nous est ensuite proposée. On laisse tout coché par défaut comme c’est :)
Idem pour le protocole utilisé:
Pi-Hole propose une interface Web, qu’on peut ou non installer. Par défaut on la laisse s’installer, elle sera bien pratique par la suite.
On peut régler le niveau de confidentialité: par défaut, on saura quelle IP a tenté d’accéder à quel site, à quelle heure, etc. On peut choisir de masquer certaines infos. Nous sommes ici dans un cadre privé et familial, on laisse par défaut…
L’installation se poursuit alors avec l’installation de divers paquets.
Après quelques minutes, l’installation se termine, et un écran nous résume les informations importantes: l’adresse IP de Pi-Hole, l’adresse pour son administration web, et enfin le mot de passe pour y accéder.
C’est terminé pour l’installation. Passons maintenant à son utilisation !