Bloquer les publicités et traqueurs au niveau du DNS avec Unbound
Hormis les plugins bloqueurs de publicités comme Ublock Origin au niveau du navigateur, il est aussi possible d’agir au niveau DNS. Je pense que les 2 méthodes sont complémentaires. Le blocage au niveau du DNS permet d’agir sur tout les ordinateurs l’utilisant (par exemple tous les ordinateurs de votre réseau local). C’est à dire que le blocage va fonctionner aussi sur les iMachines, iTéléphones et Androphones plutot réticents à ce que vous bloquiez les publicités qui rapportent des brouzoufs à leur éditeurs.
Si vous avez un DNS local tel que Unbound, c’est très simple à mettre en place. L’idée est télécharger une liste de domaines connus pour fournir uniquement de la publicité ou des traqueurs et de mentir sur leur adresse IP. Votre DNS va dire que ces domaines sont inaccessibles.
On commence par télécharger la liste de domaines à bloquer sur le site de StevenBlack et la convertir au format Unbound :
# cd /etc/unbound/unbound.conf.d
# wget -O- https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts | grep '^0\\.0\\.0\\.0' | awk '{print "local-zone: \\""$2"\\" redirect\\nlocal-data: \\""$2" A 0.0.0.0\\""}' > adslist
On ajoute la prise en charge de cette liste de domaines à bloquer dans notre fichier de configuration d’Unbound :
#Ads blocking
include: "/etc/unbound/unbound.conf.d/adslist"
On redémarre le service:
# systemctl start unbound
Et voila, simple !
J’ai fait pour vous un petit test sur le site web http://www.jeuxvideo.com/
C’est assez parlant ;-)
Sans bloquage au niveau du DNS (temps de chargement 10 secondes):
Après bloquage au niveau du DNS (temps de chargement 1 seconde):
Je vous invite à suivre mon tutorial pour installer Unbound sur Debian. Ca vous permet également d’accéder à tout le web et échapper à la censure par bloquage DNS.