#!/bin/sh # # Auteur: Marc Poiroud # Date : 23 août 2009 # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # script de mise à jour pour le fichier /etc/hosts # de http://rlwpx.free.fr/WPFF/hosts.htm # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # licence : WTFPL - http://sam.zoy.org/wtfpl/ # # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE # Version 2, December 2004 # # Copyright (C) 2004 Sam Hocevar # 14 rue de Plaisance, 75014 Paris, France # Everyone is permitted to copy and distribute verbatim or modified # copies of this license document, and changing it is allowed as long # as the name is changed. # # DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE # TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION # # 0. You just DO WHAT THE FUCK YOU WANT TO. # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Dépendances du script : # extra/p7zip # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # variables locales # # # # # # # # # # # # # # # # # CWD=/tmp/hostsblock DIRTMP=${CWD}/extraction-$(date +%s) ERASURL='localhost' FILETMP=$(date +%s).hosts HOSTS='hosts.rlwpx' URL=http://rlwpx.free.fr/WPFF # # # # # # # # # # # # # # # # # # __liste de blocages__ # # # # # # # # # # # # # # # # # # hosts.rsk [hr.7z], anti-maliciels # hosts.pub [hp.7z], anti-publicités # hosts.trc [ht.7z], anti-traqueurs # hosts.sex [hs.7z], anti-sexe # hosts.web [hw.7z], anti-tout (les précédents inclus). # − − insérez les listes choisies, une par ligne − − LISTES="hr.7z hp.7z ht.7z" # # # # # # # # # # # # # # # # # # __Sites à conserver__ # # # # # # # # # # # # # # # # # # − − insérez les sites, un par ligne − − SWEEP=" numerama.com " ##################################### # Retour à la configuration d’origine # if [ "$1" = "--purge" ] ; then rm -rf $CWD echo -e "\033[1;31m==>\033[0m Suppression des répertoires temporaires" _purge=" cd /etc mv hosts.original hosts rm -f hosts.1 " su root -c "${_purge}" echo -e "\033[1;31m==>\033[0m Suppression des fichiers hosts modifiés" exit fi ##################################### dl_hosts () { # télécharge et décompresse les archives dans le répertoire temporaire if [ ! -d $CWD ] then echo -e "\033[1;34m==>\033[0m Création du répertoire \033[1;32m${CWD}\033[0m" mkdir -p ${DIRTMP} fi cd $CWD for i in $LISTES ; do if [ ! -e $i ] ; then echo -e "\033[1;33m==>\033[0m Téléchargement de \033[1;32m${i}\033[0m depuis $URL" wget -cP ${CWD} -c ${URL}/${i} > /dev/null 2>&1 fi echo -e "\033[1;33m==>\033[0m Extraction de \033[1;32m${i}\033[0m vers ${DIRTMP}" 7z e $i -o${DIRTMP} > /dev/null 2>&1 || return 1 done } trie_fichier () { cd $DIRTMP cat Hosts.* > ${FILETMP} cat > ${HOSTS} << "EOF" # #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # # Sites bloqués depuis la liste de Airelle. # http://rlwpx.free.fr/WPFF/hosts.htm # #@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ # EOF grep ^127 ${FILETMP} | sort -u >> ${HOSTS} echo "" echo -e "\033[1;34m==>\033[0m Création du fichier ${DIRTMP}/\033[1;32m${HOSTS}\033[0m" } sweep () { # Supprime les sites à conserver de la liste for i in ${SWEEP} ; do sed -i /$i/d ${HOSTS} echo -e "\033[1;31m==>\033[0m Suppression de \033[1;32m${i}\033[0m de la liste des sites bloqués" done } cp_hosts () { _cpsu=" cd /etc if [ ! -e hosts.original ] ; then cp hosts hosts.original echo '==> Copie de /etc/hosts en /etc/hosts.original' fi mv hosts hosts.1 cat /etc/hosts.original > /etc/hosts cat ${DIRTMP}/${HOSTS} >> /etc/hosts " su root -c "${_cpsu}" echo -e "\033[1;33m==> La liste de sites bloqués est à jour dans /etc/hosts\033[0m" } dl_hosts trie_fichier sweep cp_hosts # Un coup de balai dans /tmp if [ "$1" = "--clean" ] ; then rm -rf $CWD echo -e "\033[1;31m==>\033[0m Suppression des répertoires temporaires" fi # fin de script