Bloquer les pubs avec squid

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.

Installer HP Web JetAdmin 8.1 sur Ubuntu 10.04

Tout d’abord, téléchargez le programme HP Web JetAdmin 8.1 version Fedora depuis le site HP .

Positionner les droits d’execution :

chmod +x wja81-3872-fe.selfx

Créer un fichier /etc/redhat-release :

sudo echo "Red Hat Linux release 7.3 (Valhalla)" > /etc/redhat-release

Préparer l’environnement d’exécution :

sudo apt-get install libdb1-compat
sudo ln -s /usr/lib/libgdbm_compat.so.3 /usr/lib/libgdbm.so.2
sudo ln -s /usr/lib/libdb-4.7.so /usr/lib/libdb-4.0.so
sudo ln -s /lib/ln -s  libexpat.so.1  /lib/libexpat.so.0

Télécharger le paquet libstdc++5_3.3.6-17ubuntu1_i386.deb depuis le repository de Jaunty et l’installer.

Lancer l’installation :

sudo ./wja81-3872-fe.selfx

L’installation plantera vers la fin. Ceci n’est pas bloquant.

Modifier le script de lancement :

cd /opt/hpwebjet/
sudo vi ./hpwebjetd.sh

Remplacer sur la première ligne :

#!/bin/sh ->    #!/bin/bash

Et a la ligne 107 :

pidlist=`/sbin/pidof -o %PPID hpwebjetd`   ->    pidlist=`/bin/pidof -o %PPID hpwebjetd`

Lancer Hp Web jetadmin par la commande :

sudo ./hpwebjetd.sh -start