Squid est un proxy-web permettant de réduire la bande passante utilisée. Et pour la réduire encore plus, nous allons bloquer les pubs (ads) qui polluent le web :-).
La config utilisée : Squid-2.6.XX sur une Centos 5.
S’adapte très facilement sur d’autres configs.
Nous considérons que Squid est déjà fonctionnel.
Lançons la commande :
/usr/bin/wget -O /etc/squid/ads_list.txt http://pgl.yoyo.org/adservers/serverlist.php?hostformat=squid-dstdom-regex\&showintro=1\&mimetype=plaintext
Maintenant, dans le fichier /etc/squid/squid.conf, on rajoute ces lignes :
... acl ads dstdom_regex "/etc/squid/ads_list.txt" ... http_access2 deny ads ... deny_info ERR_ACCESS_DENIED_ADS ads ...
Créons le fichier /etc/squid/errors/ERR_ACCESS_DENIED_ADS :
<html><body> <!-- Ad Removed by (%s) --> </body></html>
Ce fichier permet d’afficher une page vide lorsqu’un ad est bloqué. Cela évite d’avoir une page du style « Generated by Squid (xxxx) on xxxxxxx » pour cette acl.
On demande a squid de recharger sa configuration :
/etc/init.d/squid reload
Et voici le résultat sur un site pris au hasard :
Sans filtrage :
Et avec filtrage :
Pour aller plus loin, il est facile de faire un petit script, appelé par une tâche cron, qui sera chargé de mettre à jour automatiquement la liste des ads à bloquer et qui fera le reload de squid.