Pi-Hole

Il y a quelques semaines je me suis mis en tête d'essayer de limiter les publicités qui apparaissent sur mes appareils mobiles. Comme il n'y a pas forcément de adblock à l'intérieur d'une application mobile, le plus pertinent semblait être de passer par un blocage au niveau du DNS.

Qu'est-ce que le Pi-Hole

Comme quasiment tous les services qu'on rencontre sur Internet, les publicités sont sur des serveurs identifiés par leurs noms, comme (et je l'invente) ads.example.com. Quand une application cherche à contacter ce serveur, elle va demander à un serveur de DNS de convertir le nom en une adresse IP qu'elle va contacter pour afficher la publicité. La seule manière qu'un système joigne un autre système est en passant par son adresse IP, le nom n'étant pas là pour le joindre de façon technique.

Du coup, on a tous un serveur DNS configuré sur nos ordinateurs, et en général la Box de notre opérateur fait le boulot. L'idée de Pi-Hole est de remplacer ce serveur, et de mentir aux applications. Quand l'application demande l'adresse IP d'un serveur de publicité, on lui répond qu'il n'y a pas d'adresse correspondante, ou avec une fausse adresse. Du coup l'application ne peut pas récupérer la publicité. Le Pi-Hole est donc un serveur DNS menteur, qui se base sur les adresses plus ou moins connues de serveurs de publicité pour les court-circuiter.

L'installation

Alors comme j'ai plusieurs Raspberry Pi qui sont dans un tiroir, pour des projets que je n'ai pas encore commencés, j'en ai pris un, et je suis allé sur https://pi-hole.net et j'ai suivi le tutoriel pour l'installer sur une raspbian toute fraiche. Je me suis arrangé pour que l'adresse IP du Pi Hole soit une adresse statique sur mon réseau. Ça c'est la partie facile.

La partie difficile a été de configurer la box (en fait j'utilise un routeur, mais je suis dans une configuration particulière) pour qu'au lieu que la box dise qu'elle est le serveur DNS, elle donne l'adresse IP de Pi Hole pour le serveur DNS. Ça se paramètre au niveau du serveur DHCP de la box pour ceux qui veulent tenter.

À l'usage

Ça fait quelques jours que ça fonctionne ici, et j'en suis très content. J'ai moins de pubs sur mes périphériques mobiles, et je n'ai eu qu'un ou deux bugs depuis le début. L'interface de Pi Hole permet que quand on a un problème avec un nom de domaine, on peut le mettre en liste blanche afin de ne plus bloquer ces requêtes là. C'est donc hyper pratique !

Screenshot-2018-12-19-17.50.40

Et pour la suite ?

Alors une personne sur twitter m'a présenté une installation intéressante, pour ceux qui ont un peu de domotique. Si on veut désactiver le filtrage, c'est faisable à l'aide de l'API de Pi Hole, et cette personne l'a carrément liée à un interupteur virtuel de son installation domotique. Du coup, en un clic sur le téléphone, le filtrage est désactivé, et réactivé en un autre clic. Ça me semble une excellente idée, mais est-ce que j'aurai le temps de le mettre en place ?

audit-log

Liens