Pi-Hole – Votre Raspberry Pi bloqueur de publicité

Nous nous battons tous contre les publicités, polluant notre espace visuel et c’est encore plus le cas sur Internet. Après avoir présenté ublock et privoxy dans un précédent article, je vous présente aujourd’hui Pi-Hole, une solution open-source encore plus efficace à base de Raspberry Pi.

pi-hole-1

Vous aurez besoin d’un Raspberry Pi (avec tout le matériel inhérant : carte SD, alimentation, …), de ce tutoriel et de disons 30 minutes. Le niveau de ce tutoriel est avancé (connaître les commandes linux, savoir modifier un fichier en lignes de commande).

DNS

Le DNS (Domain Name System) est un service permettant de traduire un nom de domaine (url d’un site) en adresse IP. L’idée de PI-Hole est de bloquer toutes les requêtes DNS vers des domaines de publicité. Ainsi, la navigation sur votre machine paraîtra tout à fait normal, mais les pubs ne s’afficheront pas car le navigateur n’arrivera pas à atteindre les serveurs de publicité. Double effet bonus, cela marche aussi pour certaines vidéos et Pi-Hole intègre un système de cache DNS, ce qui accélère la résolution et donc la navaigation.

Installer Raspbian

Allez sur le site de Raspberry et téléchargez l’image de Raspbian (https://www.raspberrypi.org/downloads/raspbian/), je vous conseille la version Jessie.

Suivez ensuite les instructions pour installer l’image sur votre carte SD (suivant votre système d’exploitation) : https://www.raspberrypi.org/documentation/installation/installing-images/README.md

Installez ensuite votre carte SD dans le Raspberry Pi et démarrer le. Après l’installation et quelques minutes, vous devriez pouvoir vous connecter à la console.

Choisir une IP fixe pour votre Raspberry Pi

Si vous avez installé Jessie, il faut modifier le fichier suivant ces instructions https://wiki.archlinux.org/index.php/Dhcpcd#Static_profile :

/etc/dhcpcd.conf

Si vous avez installé Wheezy, il faut modifier le fichier suivant ces instructions http://jacobsalmela.com/block-millions-ads-network-wide-with-a-raspberry-pi-hole-2-0/#staticip :

/etc/network/interfaces

Installer Pi-Hole

C’est la partie la plus facile. Lancez simplement la commande suivante. L’installation va se dérouler puis le Raspberry Pi va redémarrer :

curl -L install.pi-hole.net | bash

Tests

Première chose à vérifier, est-ce que le DNS fonctionne bien ? Connectez-vous sur le Pi-Hole (Raspberry Pi) et lancez les commandes suivantes. La première vous indique quelles sont les IPs de Google. La deuxième vous répond que adwitty.com correspond à votre Pi-Hole (la requête est bien faussée) :

[email protected]:~# nslookup google.fr localhost
Server: localhost
Address: ::1#53

Non-authoritative answer:
Name: google.fr
Address: 173.194.45.56
Name: google.fr
Address: 173.194.45.63
Name: google.fr
Address: 173.194.45.47
Name: google.fr
Address: 173.194.45.55

[email protected]:~# nslookup adwitty.com localhost
Server: localhost
Address: ::1#53

Name: adwitty.com
Address: 192.168.1.18

Deuxièmemement, vous pouvez accéder à une interface de statististiques à l’adresse suivante : http://@ip_raspberry/admin/index.php (par exemple http://192.168.1.18/admin/index.php). Vous devriez obtenir une interface de ce genre :

pi-hole-2

 

Utilisation

Il faut maintenant configurer votre PC/Mac/Linux/périphérique pour utiliser le Pi-Hole en tant que DNS. Pour cela, suivez les instructions ici : http://pi-hole.net/faq/how-do-i-use-the-pi-hole-as-my-dns-server/

Ouvrez maintenant une page web pour tester et profitez de ce contenu dénué de publicité 🙂
J’espère que tout a fonctionné pour vous, n’hésitez pas à laisser des commentaires.

Je vous renvoie au très bon article de Jacob Salmela, créateur de Pi-Hole et au code sur GitHub.

2 réponses

  1. Valery dit :

    Très bon tuto.
    Une question, comment faire pour additionner dans la whitelist le lien entre google shopping et le site vendeur ?

  1. 7 octobre 2016

    […] Pi-Hole – Votre Raspberry Pi bloqueur de publicité […]

Laisser un commentaire

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