Plutôt que d’avoir à mettre à jour manuellement le fichier hosts de sa machine, j’ai repris le script de cette page.
J’ai complété ce script avec d’autres sources pour constituer un fichier hosts plus complet et bloquer davantage de sites malveillants et publicitaires. Ces sources étant mis à jour régulièrement, voici le script bash à lancer dans votre terminal et automatiser tout le travail.
Ouvrez un terminal dans « menu -> accessoires -> terminal »
tapez :
gedit hosts.sh
Le traitement de texte apparaît, copiez-collez ceci :
#!/bin/bash
# Téléchargement
echo "Téléchargement des fichiers hosts de différentes sources..."
wget -O hosts-mvps.txt "http://www.mvps.org/winhelp2002/hosts.txt"
wget -O hosts-hosts-file.txt "http://hosts-file.net/ad_servers.asp"
wget -O hosts-pgl.yoyo.txt "http://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=0&mimetype=plaintext"
wget -O hosts-kosvocore.txt "http://kosvocore.free.fr/AdZHosts/HOSTS.txt"
wget -O hosts-someonewhocares.txt "http://someonewhocares.org/hosts/hosts"
# Fusion et dédoublonnage des fichiers hosts
cat hosts-mvps.txt hosts-hosts-file.txt hosts-pgl.yoyo.txt hosts-kosvocore.txt hosts-someonewhocares.txt | sort | uniq > hosts-all.txt
# On retire les commentaires pour que le fichier soit plus compacte
sed '/^\#/d' hosts-all.txt > hosts-tmp.txt
mv hosts-tmp.txt hosts-all.txt
# On retire les ^M en fin de ligne
cat hosts-all.txt | tr -d '\r' > hosts-M.txt
mv hosts-M.txt hosts-all.txt
# Fusion et dédoublonnage des fichiers hosts
cat hosts-all.txt | sort | uniq > hosts-tmp.txt
mv hosts-tmp.txt hosts-all.txt
# Backup /etc/hosts
if [ ! -e ./etc-hosts.bak ]
then {
cp /etc/hosts etc-hosts.bak
echo "Backup /etc/hosts = etc-hosts.bak ..."
}
fi
if [ -e ./hosts-all.txt ]
then {
cat etc-hosts.bak hosts-all.txt > hosts
echo "Mission Accomplie !"
}
else
{
echo "Fichier hosts-all.txt non trouvé"
}
fi
# Modification /etc/hosts
echo -n "Modifier le fichier /etc/hosts ? O/N : "
read reponse
if [ "$reponse" = "o" ] || [ "$reponse" = "O" ];
then {
echo "Modification du fichier /etc/hosts ..."
sudo mv ./hosts /etc/hosts
}
elif [ "$reponse" = "n" ] || [ "$reponse" = "N" ];
then {
echo "Ok, bye !"
}
else
{
echo "Il faut taper O ou N !! Pas $reponse"
}
fi
Enregistrez le fichier en hosts.sh. Cliquez droit dessus puis « propriétés -> permissions » puis cochez : « autoriser l’éxecution du fichier comme un programme »
Ouvrez un nouveau terminal puis tapez :
./hosts.sh
Il vous demande votre mot de passe pour être remplacé dans /etc/
A vous de lancer ce script de temps en temps.
Il existe un autre script de mise à jour sur cette page, mais je ne le trouve pas très convivial. Lisez la partie 1 de cette suite d’article ici !
Commentaires