vendredi 14 mai 2010

hosts : filtrer sa navigation -comment compiler différentes blacklistes ?

Boite à astuces Linux
Qui n'a pas pester un jour de voir que son surf se trouvait ralentit par le téléchargement d'une application publicitaire ou d'un outil statistique du du type de Google Analytics.
Dans un précédent billet, nous avions vu qu'il était possible d'utiliser le fichier hosts pour filtrer/accélérer son surf sur la toile.
Si il est facile de trouver sur la toile des fichiers hosts déjà configurés pour filtrer les importuns , cela devient fastidieux  de copier/coller ces listes dans son propre hosts à chaque fois que l'on veut faire une mise à jour ou simplement compléter ses listes.
Nous allons donc passer en revue les différents formes sous lesquelles se présentent ces fameuses listes et comment les remettre au format standard d'un fichier hosts.

Premier cas : le fichier proposé est inclu dans une page Html.Exemple avec http://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts
Nous allons utiliser la combinaison de commandes suivantes:
curl -s Url_du_fichier pour télécharger les données
suivi de egrep pour ne garder que les lignes commençant par 127.0.01
suivi de sort -u pour trier et supprimer les doublons potentiels
et enfin de sed pour conformer les données au format d'un fichier Hosts
Ce qui donne la ligne de commande suivante:
curl -s 'http://pgl.yoyo.org/adservers/serverlist.php?showintro=0;hostformat=hosts' | egrep '^127.0.0.1' | sort -u | sed 's/ /\t/g' > /Hosts0_anti-pub_pgl.yoyo.org.txt

Deuxième cas : le fichier est sous forme compressé au format zip

Exemple avec http://www.bluetack.co.uk/config/HOSTS.zip
Nous allons télécharger le fichier Zip avec wget -P  répertoire_destination URL_du_fichier
wget -P /home/$USER/ http://www.bluetack.co.uk/config/HOSTS.zipPuis nous allons utiliser la combinaison de commande suivante
unzip -p pour décompresser et diriger la sortie à travers les filtres détaillés précédemment.
Ce qui donne la ligne de commande suivante: 
unzip -p HOSTS.zip HOSTS.txt | egrep '^127.0.0.1' | sort -u | sed 's/ /\t/g' > /home/$USER/Hosts0_bluetack.co.uk.txt

Troisième cas : le fichier est sous forme compressé au format 7z
Exemple avec http://rlwpx.free.fr/WPFF/hosts.htm
Nous allons télécharger le fichier 7z avec wget -P  répertoire_destination URL_du_fichier
wget -P /home/$USER/ http://rlwpx.free.fr/WPFF/hb.7z
Puis nous allons utiliser la combinaison de commande suivante:
7z e nom-fichier.7z -so pour décompresser et diriger la sortie à travers les filtres détaillés précédemment.
Ce qui donne la ligne de commande suivante:
7z e hp.7z -so | egrep '^[0-9]*\.[0-9]*' | sort -u | sed 's/ /\t/g' > Hosts0_Airelle_anti-publicités.txt
(le filtre egrep a été modifié pour ne prendre que les lignes commençant par un chiffre.un chiffre car ce fichier est une liste blanche...)


Dernier point : il reste à regrouper tous ces fichiers dans un même fichier hosts
la commande: sort -u fichier_host1 fichier_host2 fichier_hosts3 >> hosts


A titre d'exercice , =:p , quelques autres liens ci-dessous

http://someonewhocares.org/hosts/hosts
http://www.hosts-file.net/?s=Download
http://rlwpx.free.fr/WPFF/hosts.htm


Un grand merci à tous ceux qui comme Airelle se font suer pour nous constituer ces fameuses listes !

Aucun commentaire:

Enregistrer un commentaire