14.5. Ad Zapping con Squid

Ad Zapping è un redirector che intercetta e ridireziona gli advertising, i page counters e molti altri bugs propri del web. Questo redirector comporta anche dei benefici a riguardo del risparmio della banda ed inoltre è un programma piuttosto semplice da installare.

Ad Zapper è fondamentalmente uno script che può essere integrato facilmente con il Squid, il suo funzionamento si basa su un algoritmo che contiene alcune espressioni regolari (regex), queste espressioni sono incluse all'interno dello script stesso.

14.5.1. Differenze con Junkbuster e Privoxy

Come abbiamo visto in precedenza, Junkbuster e Privoxy sono dei proxy servers specializzati nel mediare il filtraggio, per funzionare questi proxy devono essere utilizzati nell'ambito di una cache gerarchica, in questo ambito possono essere definiti come parent o sibling.

Tutte le richieste effettuate da parte dei client vengono dirette a Junkbuster o a Privoxy, questo fatto comporta un discreto livello di complessità della configurazione e un certo rallentamento sulla rete, in quanto la richiesta, dopo essere stata purgata dal proxy filtro, dovrà essere inoltrata dal sistema parent a Squid.

Se Junkbuster e Privoxy sono in grado di filtrare anche i cookies e le pagine web che contengono gli advertising, Ad Zapper è solo in grado di eliminare gli advertising (ads).

14.5.2. Vantaggi della ridirezione

Abbiamo già accennato al fatto che una delle features più interessanti offerte da Squid è il ricorso al sistema di ridirezione. I programmi esterni che eseguono materialmente la ridirezione, leggono le informazioni che vengono richieste dagli utenti e le riscrivono inviandole a un percorso diverso. Se viene attivata l'opzione redirect_program, Squid consulterà il redirector che si farà carico di intercettare gli ads ridirezionando e sostituendo il codice vietato. Il TAG redirect_program è facilmente attivabile modificando il file di configurazione squid.conf

redirect_program /usr/local/libexec/squid_redirect
   

Il path dovrà essere rimpiazzato con il percorso dell'applicazione che utilizzeremo per la ridirezione delle richieste

14.5.3. Prerequisiti di Ad Zapping

I prerequisiti di sistema richiesti da Ad Zapping sono

L'installazione di Ad Zapping è piuttosto semplice in quanto si provvede all'installazione dello script e si aggiunge nel file di configurazione di Squid il TAG redirect_program. Successivamente sarà necessario riavviare il proxy per attivare l'Ad Zapping. Esistono diverse versioni già customizzate dello script Ad Zapping per diversi Sistemi Operativi

Lo script originale può essere prelevato dalla URLs del progetto http://adzapper.sourceforge.net/#download

14.5.4. installare Ad Zapping

In questo caso di studio proponiamo l'installazione dello script Ad Zapping sul Sistema Operativo FreeBSD, la procedura è piuttosto semplice. Digitiamo i seguenti comandi nella directory contenente il ports di adzap

% cd /usr/ports/www/adzap
% make install clean
   

Ad Zapping è ora installato, per attivare la ridirezione è necessario editare il file di configurazione squid.conf ed inserire lo script adzap utilizzando il TAG redirect_program. Di seguito vediamo gli script che ha provveduto ad installare la procedura di configurazione

% cd /usr/local/libexec
% ls
total -------
drwxr-xr-x 9 root wheel 512 Feb 11 11:29 ./
drwxr-xr-x 7 root wheel 512 Feb 5 06:27 ../
-r-xr-xr-x 1 root wheel 2551 Feb 11 11:29 adzap*
drwxr-xr-x 2 root wheel 512 Feb 3 06:14 squid/
-r-xr-xr-x 1 root wheel 113798 Feb 11 11:29 squid_redirect*
   

Il programma di installazione e configurazione ha generato 2 files, adzap e squid_redirect. Per avviare correttamente la procedura di ridirezione modificheremo il file di configurazione squid.conf

redirect_program /usr/local/libexec/squid_redirect
redirect_children 5
   

per rendere operativa la modifica ed iniziare ad utilizzare il redirector

% squid -k reconfigure
   

da notare che il file

/usr/local/libexec/adzap 
   

contiene tutte le impostazioni necessarie al corretto funzionamento di Ad Zapper, tra le variabili citiamo

ZAP_BASE=http://adzapper.sourceforge.net/zaps 
   

con questa variabile è possibile definire un percorso di un server web, questo consente di visualizzare dei messaggi o delle immagini in sostituzione degli advertising. Se si esegue un web server sulla stessa macchina dove è in funzione Squid (consigliato), si procederà a copiare i files *.{html,js,gif} dal percorso ${PREFIX}/share/examples/adzap direttamente nella DirectoryRoot del webserver. Successivamente modificheremo la variabile ZAP_BASE contenuta nel file di configurazione /usr/local/libexec/adzap

% cd /usr/local/www/data-dist/
% mkdir zaps
% cd /usr/local/share/examples/adzap/
% cp * /usr/local/www/data-dist/zaps/
   

Ecco la variabile modificatata

ZAP_BASE=http://127.0.0.1/zaps/