Filtrer les publicités sur votre réseau local

Bonjour à tous !

Dans cet article je vais vous montrer comment facilement filtrer les publicités lors de vos navigations web sur l’ensemble des ordinateurs de votre réseau local. Je n’aborderai pas la question sur les régies publicitaires, et sur le débat de leur utilité pour les sites qui y sont clients. Je laisse aux visiteurs la décision finale ;).

  • Technique utilisée

La technique est similaire à celle utilisée par le fournisseur d’accès Free. Elle consiste a ajouter une liste noire sur le serveur DNS de votre réseau local afin de changer la correspondance. Par exemple pour une régie publicitaire ayant pour domaine regiepublicitaire.tld qui normalement à l’adresse IP X.X.X.X, nous allons insérer une règle dans le serveur dns afin que cette adresse pointe vers 127.0.0.1, l’adresse de loopback de la machine courante, ce qui aura pour effet, quand le navigateur tentera de charger les encarts publicitaires de cette régie, de rendre impossible le chargement.

  • Lister les régies publicitaires

Pour se faire je vous conseille cette liste noire de régies mise à jour quotidiennement :

http://pgl.yoyo.org/adservers/

Sur ce site vous allez pouvoir télécharger la liste des régies publicitaires sous le format que vous voulez (fichier hosts, bind, …).

  • DnsMasq

Pour la suite je vais utiliser le résolveur dnsmasq. Il est très léger, et pour cet usage, nous n’avons pas besoin de la panoplie de fonctionnalités que propose bind par exemple.

Pour l’installer, rien de plus simple, il est disponible dans la plupart des dépôts des grandes distributions linux (Debian, CentOS, Ubuntu,…). Sur debian :

apt-get install dnsmasq

Nous enregistrerons plus tard la liste dans le fichier : /etc/dnsmasq.adblock.conf. Il vous suffit alors d’ajouter cette ligne dans le fichier de configuration de dnsmasq (/etc/dnsmasq.conf) :

conf-file=/etc/dnsmasq.adblock.conf

  • Automatiser la récupération et la mise a jour de la liste

Afin de conserver une liste à jour, sans pour autant mettre les mains dans le cambouis, je vous propose ce simple script bash, qui va récupérer le fichier, l’enregistrer, et redémarrer dnsmasq :

#!/bin/bash
 
LISTURL="http://pgl.yoyo.org/adservers/serverlist.php?hostformat=dnsmasq&showintro=0&mimetype=plaintext"
 
# Download adservers list
curl $LISTURL > /etc/dnsmasq.adblock.conf
 
# Restart DnsMasq
/etc/init.d/dnsmasq restart

Voilà, il ne vous reste plus qu’a exécuter ce script une première fois , et de le placer dans votre fichier crontab une fois par semaine par exemple.

Pour utiliser le serveur dans votre LAN, tout dépend de votre configuration, si vous possédez un serveur dhcp il suffit alors de mettre l’ip du serveur dns pour la range que le serveur dhcp gère, ainsi tous les appareils du lan bénéficieront du blocage de pub.

Si vous ne possédez pas de serveur DHCP, vous pouvez aussi modifier le serveur dns sur certaines box du marché (Freebox, livebox…).

 

Laisser un commentaire

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