#51 Le 22/02/2010, à 10:22
- bleuberry
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
si sa fonctionne sur chrome Adblock ?:P
Dernière modification par bleuberry (Le 22/02/2010, à 10:24)
Hors ligne
#52 Le 22/02/2010, à 10:50
- sergeG75018
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Ça fonctionne pas avec epiphany
Ironie, sarcasme ou cynisme? Je ne sais plus
Hors ligne
#53 Le 22/02/2010, à 10:55
- Hizoka
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
apres l'installation de ce hosts, il m'affiche une erreur à chaque utilisation de sudo :
sudo: unable to resolve host hizo-pc
quand je remets mon ancien fichier, pas de probleme...
EDIT : j'ai dû ajouter :
127.0.1.1 hizo-pc
Cela fonctionne pas mal
Dernière modification par Hizoka (Le 23/02/2010, à 03:13)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#54 Le 23/02/2010, à 14:29
- bleuberry
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
:(elle me fait vraiment chier :http://fr.partypoker.com/td/videopop/pp_videopop.htm
Dernière modification par bleuberry (Le 23/02/2010, à 14:33)
Hors ligne
#55 Le 25/02/2010, à 17:46
- brizou
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Hors ligne
#56 Le 25/02/2010, à 18:13
- Patrik
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Ça fonctionne pas avec epiphany
Ça ne peut pas ne pas fonctionner, car c'est au niveau des règles de résolutions des noms de domaines, indépendamment des applications.
Hors ligne
#57 Le 26/02/2010, à 09:58
- sergeG75018
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
fallait juste redémarrer...
merci.
Ironie, sarcasme ou cynisme? Je ne sais plus
Hors ligne
#58 Le 27/02/2010, à 07:58
- Lylyrian
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Ca me semble une bonne idée, surtout pour les liens malveillants. Par contre pour la pub, est-ce que ça ne pose pas de problème quand on veut aller sur un site qui d'habitude nous envoie de la pub ? Genre en temps normal on préfère ne pas voir les pubs des Trois pt'its suisses, mais le jour où on a une commande à faire, on a besoin de voir le site...
Cela m'est déjà arrivé avec Adblock Plus (me souvient plus sur quels sites), là la solution était simple, désactiver Adblock le temps du surf. Mais s'il faut changer le fichier host c'est moins simple.
Est-ce que ce genre de cas est géré d'une manière ou d'une autre ?
Mieux vaut poser une question débile et avoir la réponse que de rester comme un con devant son ordi...
Hors ligne
#59 Le 13/03/2010, à 20:34
- bleuberry
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
la pub ces comme les cafards
Hors ligne
#60 Le 13/03/2010, à 23:45
- Hizoka
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
je vous poste ma version de mise à jour automatique (ajout automatique de 127.0.1.1 nom de la machine) avec un peu de couleur, des vérifications et expliquée :
NOIR="\033[1;0m"
BLEUFONCE="\033[1;34m"
ROUGE="\033[1;31m"
echo -e "\n${BLEUFONCE}Comparaison des versions...\n${NOIR}"
# Vérification des versions
V_local=$(sed -n 's/# AdZHosts v0*\(.*\)/\1/p' /etc/hosts)
V_net=$(links -dump http://kosvocore.free.fr/AdZHosts/Version.txt | sed 's/ //g ; s/^0*//')
# Comparaison des versions
if [[ ${V_local} -lt ${V_net} ]]
then
echo -e "${BLEUFONCE}Mise à jour en cours...\n${NOIR}"
# Téléchargement du fichier hosts
wget "http://kosvocore.free.fr/AdZHosts/HOSTS.txt" -O /tmp/hosts
# Vérification du download
if [[ ! -e /tmp/hosts ]]
then
echo -e "${ROUGE}Une erreur est survenue pendant la récupération du fichier Hosts.\n${NOIR}"
exit 1
fi
# Ajout de la ligne 127.0.1.1 nom de la machine
sed -i "/127.0.0.1.*localhost/a\127.0.1.1 $(uname -n)" /tmp/hosts
# Vérification de la modification
if [[ -z $(grep "127.0.1.1 $(uname -n)" /tmp/hosts) ]]
then
echo -e "${ROUGE}Une erreur est survenue pendant la modification du fichier Hosts.\n${NOIR}"
exit 1
fi
# Sauvegarde de l'ancinne version hosts
sudo cp /etc/hosts /etc/hosts_$(date +%F)
#Installation du nouveau hosts
sudo cp /tmp/hosts /etc/hosts
# Vérification de la bonne copie
if [[ /tmp/hosts -nt /etc/hosts ]]
then
echo -e "${ROUGE}Une erreur est survenue pendant la copie du fichier Hosts.\n${NOIR}"
exit 1
else
rm /tmp/hosts
echo -e "${BLEUFONCE}Mise à jour terminée.\n${NOIR}"
fi
elif [[ ${V_local} -eq ${V_net} ]]
then
echo -e "${BLEUFONCE}Fichier hosts déjà à jour...\n${NOIR}"
exit 1
else
echo -e "${ROUGE}Fichier hosts plus évolué que la version internet ??!\n${NOIR}"
exit 1
fi
dommage qu'il n'y est pas un fichier hosts sur le serveur, cela aurait permis d'être encore plus court et simple en utilisant le "wget --timestamping" afin de ne mettre à jour que si le fichier est lus recent que le local.
si vous pouvez me faire un petit retour
merci
Dernière modification par Hizoka (Le 13/03/2010, à 23:49)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#61 Le 13/03/2010, à 23:58
- wido
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
@Hizoka il y a celui là: http://www.mvps.org/winhelp2002/hosts.txt et/ou http://rlwpx.free.fr/WPFF/hosts.7z
Hors ligne
#62 Le 14/03/2010, à 00:00
- Ctrl + Alt + Sup
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Fonctionne bien...
Existe-t-il un moyen de remplacer tous les liens "tricards" par je sais pas, des carrés blancs pour éviter les pollutions genre "Not Found The requested URL bla bla ..." ?
Shuttle XPc + Ubuntu 8.04
AMD Athlon(tm) XP2400+ / 2Gb RAM / 2*DD S-ATA 120 Gb / ATI9600 et pourtant tout roule ! Comme quoi !
Numéro d'utilisateur Linux 507046
Hors ligne
#63 Le 14/03/2010, à 00:49
- Hizoka
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
non le 1er est un .txt et le 2eme n'existe pas
ca serait bien en effet ctrl...
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#64 Le 14/03/2010, à 00:56
- Qid
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
non le 1er est un .txt
et le fichier hosts tu crois que c'est quoi ?
c'est un fichier texte : je vois mal ce que tu voudrais
"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique Ubuntu d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil
Hors ligne
#65 Le 14/03/2010, à 02:20
- kyncani
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
A voir, si l'on a confiance dans le site.
Je me suis également fait mon petit script de mise à jour, les goûts et les couleurs hein
J'utilise un fichier /etc/hosts.local pour conserver les préférences locales.
Et je ne change pas le fichier /etc/hosts si son contenu n'a pas changé.
Le travail se fait silencieusement et il n'affiche quelque chose qu'en cas d'erreur.
EDIT: J'ai changé ma procédure de mise à jour.
Nouvelle version :
#! /usr/bin/env python
#######################################################################
##
## Mise a jour de /etc/hosts a partir de http://www.adzhosts.com
##
## Decouvert via http://forum.ubuntu-fr.org/viewtopic.php?id=371304
##
## - Les preferences locales du fichier /etc/hosts sont contenues
## dans /etc/hosts.local
## - Les mises a jour sont ignorees si elles redirigent vers un ip
## autre que 127.0.0.1 ou ::1
##
#######################################################################
## Online host file, with associated valid ips
hosts_provider = "http://kosvocore.free.fr/AdZHosts/HOSTS.txt"
provider_allowed_ips = "127.0.0.1","::1"
## Host file
hosts = "/etc/hosts"
## Local host customization
localconfig = "/etc/hosts.local"
#######################################################################
import sys
import os
import shutil
import urllib2
import re
import time
#######################################################################
def url_exception_handler(exc) :
"""Handle exceptions while fetching data from url"""
print >>sys.stderr, "Error while retrieving data from "+url+", aborting ("+str(exc)+")"
sys.exit(1)
def load_hosts(url) :
"""Load a hosts file into data and ips global vars"""
global data
global ips
if url.startswith("/") :
handler = file(url)
islocal = True
else :
try : handler = urllib2.urlopen(url)
except Exception, exc : url_exception_handler(exc)
islocal = False
data.append("####")
data.append("## Beginning of "+url)
while True :
try : line = handler.readline()
except Exception, exc :
if not islocal : url_exception_handler(exc)
raise
## Handle windows line-termination gracefully
line = line.replace("\r", "")
if line == "" : break
line = line.rstrip("\n")
if re.search(r"^\s*(?:#.*)?$", line) :
data.append(line)
continue
m = re.search(r"^(?P<ip>\S+)\s+(?P<hostnames>[^#]*?)\s*(?P<comment>#.*?)?\s*$", line)
if not m :
if url == localconfig :
data.append(line)
continue
else :
print >>sys.stderr, "Ignoring malformed line "+line
continue
ip = m.group("ip")
hostnames = re.split(r"\s+", m.group("hostnames"))
## Ignore ip redirections update if they are deemed unsafe
if url != localconfig and ip not in provider_allowed_ips :
print >>sys.stderr, "Warning: ignoring unsafe update: "+line
continue
## Remove hostnames duplicates
newhostnames = []
for h in hostnames :
if ips.has_key(h) : continue
ips[h] = ip
newhostnames.append(h)
if len(newhostnames) == 0 : continue
if m.group("comment") is not None :
data.append(m.group("comment"))
## Only put one hostname per line when using external sources
if url == localconfig :
data.append(ip+"\t"+" ".join(newhostnames))
else :
data.extend([ ip+"\t"+hostname for hostname in newhostnames ])
data.append("## End of "+url)
data.append("####")
data.append("")
#######################################################################
## Program name
prog = os.path.basename(sys.argv[0])
## New data for /etc/hosts
data = [
"##",
"## Autogenerated by "+prog+" at "+time.asctime(),
"## DO NOT MODIFY, edit "+localconfig+" and rerun "+prog+" instead",
"##",
"",
]
## Hostname -> ip associations
ips = {}
## Backup /etc/hosts the first time we run
if not os.path.exists(localconfig) :
shutil.copy2(hosts, localconfig)
## Build new hosts file
for url in localconfig, hosts_provider :
load_hosts(url)
## Don't update config file if hasn't changed
rawdata = "\n".join(data)+"\n"
if os.path.exists(hosts) and file(hosts).read() == rawdata :
sys.exit(0)
## Change hosts file
tmp = hosts + os.extsep + "tmp"
f = file(tmp, "w")
f.write(rawdata)
f.flush()
f.close()
try : shutil.copymode(local, tmp)
except Exception : os.chmod(tmp, 00644)
os.rename(tmp,hosts)
#######################################################################
Ancienne version :
#! /usr/bin/env bash
#######################################################################
## Online host file
url="http://kosvocore.free.fr/AdZHosts/HOSTS.txt"
## Host file
hosts="/etc/hosts"
## Local host customization
local="$hosts.local"
## Temporary build location
tmp="$hosts.tmp"
#######################################################################
## Backup /etc/hosts the first time we run
test -e "$local" || cp -a "$hosts" "$local" || exit 1
## Build new hosts
! test -e "$tmp" || rm -f "$tmp" || exit 1
{ { ! test -e "$local" || cat "$local"; } && wget -q -O- "$url"; } >"$tmp" || exit 1
chmod 00644 "$tmp" || exit 1
## Don't update config file if it hasn't changed
if test -e "$hosts" && diff -q "$hosts" "$tmp" >/dev/null; then
rm -f "$tmp" &>/dev/null
exit 0
fi
## Change hosts file
mv -f "$tmp" "$hosts"
#######################################################################
Dernière modification par kyncani (Le 14/03/2010, à 15:45)
Hors ligne
#66 Le 14/03/2010, à 02:27
- Hizoka
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Qid => il faudrait que le fichier à dl se nomme de la même façon que le fichier local, soit hosts et non hosts.txt
sauf si j'ai raté quelque chose avec l'option de wget... j'ai testé avec -O hosts mais ça ne fonctionne pas.
après ça change pas grand chose...
kyncani => en effet, chacun ses préférences
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#67 Le 14/03/2010, à 02:29
- kyncani
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
C'est -Ohosts, il n'y a pas d'espace après -O.
Hors ligne
#68 Le 14/03/2010, à 03:39
- Hizoka
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
ca ne fait pas de différence avec ou sans espace.
le truc :
-O : permet de lui dire ou télécharger le fichier.
--timestamping : permet de dire regarde si le fichier à dl est plus récent que le fichier du dossier actuel, mais si le nom du fichier net et diffèrent du local, ca ne marche pas même si c'est hosts et hosts.txt
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#69 Le 14/03/2010, à 09:31
- wido
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
http://rlwpx.free.fr/WPFF/hosts.htm le fichier a du être effacé ou il y a changé de nom
Hors ligne
#70 Le 14/03/2010, à 11:19
- kyncani
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Il est là http://kosvocore.free.fr/AdZHosts/HOSTS.txt
Hors ligne
#71 Le 14/03/2010, à 11:30
- kyncani
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Au fait, je me permet de signaler qu'il est dangereux d'utiliser un fichier /etc/hosts qui vient de l'extérieur sans vérifier son contenu.
En particulier, les scripts de mise à jour automatique d'Hizoka et moi-même ne sont pas forcément une bonne idée.
Supposez par exemple que quelqu'un décide un jour de mettre dans le fichier hosts.txt la ligne suivante :
10.234.23.17 www.paypal.com
Et bien là, lorsque votre navigateur devra contacter www.paypal.com, il se connnectera à l'adresse ip fournie dans le fichier hosts. Et pour certains sites, comme paypal par exemple, il vaut quand même mieux être sur le bon site plutôt qu'un site forgé.
Hors ligne
#72 Le 14/03/2010, à 11:58
- dwan
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Je me suis fait la même remarque. Il faudrait un script simple et compréhensible qui vérifie que toutes les adresses que l'on veut blacklister sont bien associées à 127.0.0.1, et qui liste toute autre IP trouvée.
Plus simplement, un script qui retourne toute IP différente de 127.0.0.1 et le ou les sites associés.
edit : une ligne de ce genre suffirait ? Elle renvoie toutes les lignes du fichier /etc/hosts ne contenant pas 127.0.0.1, précédées de leur numéro de ligne.
grep -nv '127.0.0.1' /etc/hosts
re-edit : testé chez moi en rajoutant des lignes bizarres et des adresses IP au pif, ça marche bien, adopté !
Dernière modification par dwan (Le 14/03/2010, à 12:28)
Auto-hébergé !
HP dv6164ea
Hors ligne
#73 Le 14/03/2010, à 12:24
- Hizoka
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
oui c'est pas dur à faire, je l'ajoute vite fait et je poste...
NOIR="\033[1;0m"
BLEUFONCE="\033[1;34m"
ROUGE="\033[1;31m"
echo -e "\n${BLEUFONCE}Comparaison des versions...\n${NOIR}"
# Vérification des versions
V_local=$(sed -n 's/# AdZHosts v0*\(.*\)/\1/p' /etc/hosts)
V_net=$(links -dump http://kosvocore.free.fr/AdZHosts/Version.txt | sed 's/ //g ; s/^0*//')
# Comparaison des versions
if [[ ${V_local} -lt ${V_net} ]]
then
echo -e "${BLEUFONCE}Mise à jour en cours...\n${NOIR}"
# Téléchargement du fichier hosts
wget "http://kosvocore.free.fr/AdZHosts/HOSTS.txt" -O /tmp/hosts
# Vérification du download
if [[ ! -e /tmp/hosts ]]
then
echo -e "${ROUGE}Une erreur est survenue pendant la récupération du fichier Hosts.\n${NOIR}"
exit 1
fi
# Ajout de la ligne 127.0.0.1 nom de la machine
sed -i "/127.0.0.1.*localhost/a\127.0.0.1 $(uname -n)" /tmp/hosts
# Vérification de la modification
if [[ -z $(grep "127.0.0.1 $(uname -n)" /tmp/hosts) ]]
then
echo -e "${ROUGE}Une erreur est survenue pendant la modification du fichier Hosts.\n${NOIR}"
exit 1
fi
adresse_autre=$(egrep -v "^127.0.0.1|^#|^255.255.255.255|^$|^::1" /etc/hosts)
# Vérification des adresses
if [[ -n ${adresse_autre} ]]
then
echo -e "${ROUGE}Attention, des il y a des adresses possiblement dangeureuses :\n${NOIR}"
echo "${adresse_autre}"
fi
# Sauvegarde de l'ancinne version hosts
sudo cp /etc/hosts /etc/hosts_$(date +%F)
#Installation du nouveau hosts
sudo cp /tmp/hosts /etc/hosts
# Vérification de la bonne copie
if [[ /tmp/hosts -nt /etc/hosts ]]
then
echo -e "${ROUGE}Une erreur est survenue pendant la copie du fichier Hosts.\n${NOIR}"
exit 1
else
rm /tmp/hosts
echo -e "${BLEUFONCE}Mise à jour terminée.\n${NOIR}"
fi
elif [[ ${V_local} -eq ${V_net} ]]
then
echo -e "${BLEUFONCE}Fichier hosts déjà à jour...\n${NOIR}"
exit 1
else
echo -e "${ROUGE}Fichier hosts plus évolué que la version internet ??!\n${NOIR}"
exit 1
fi
ajout de :
adresse_autre=$(egrep -v "^127.0.0.1|^#|^255.255.255.255|^$|^::1" /etc/hosts)
# Vérification des adresses
if [[ -n ${adresse_autre} ]]
then
echo -e "${ROUGE}Attention, des il y a des adresses possiblement dangeureuses :\n${NOIR}"
echo "${adresse_autre}"
fi
il recherche les lignes ne débutant pas par 127.0.0.1 ou 255.255.255.255 ou # ou ::1 ou vide
Dernière modification par Hizoka (Le 14/03/2010, à 14:05)
KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github
Hors ligne
#74 Le 14/03/2010, à 12:44
- kyncani
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
Idem, mais je ne sais toujours pas si je vais l'adopter.
Mettre à jour automatiquement son /etc/hosts, bon ... à voir.
Donc :
- J'utilise un fichier /etc/hosts.local pour conserver les préférences locales.
- Je ne change pas le fichier /etc/hosts si son contenu n'a pas changé.
- Le travail se fait silencieusement et il n'affiche quelque chose qu'en cas de warning ou d'erreur.
- Les mises à jour sont ignorées si elles redirigent vers une ip autre que 127.0.0.1 ou ::1
#! /usr/bin/env python
#######################################################################
##
## Mise a jour de /etc/hosts a partir de http://www.adzhosts.com
##
## Decouvert via http://forum.ubuntu-fr.org/viewtopic.php?id=371304
##
## - Les preferences locales du fichier /etc/hosts sont contenues
## dans /etc/hosts.local
## - Les mises a jour sont ignorees si elles redirigent vers un ip
## autre que 127.0.0.1 ou ::1
##
#######################################################################
## Online host file, with associated valid ips
hosts_provider = "http://kosvocore.free.fr/AdZHosts/HOSTS.txt"
provider_allowed_ips = "127.0.0.1","::1"
## Host file
hosts = "/etc/hosts"
## Local host customization
localconfig = "/etc/hosts.local"
#######################################################################
import sys
import os
import shutil
import urllib2
import re
import time
#######################################################################
def url_exception_handler(exc) :
"""Handle exceptions while fetching data from url"""
print >>sys.stderr, "Error while retrieving data from "+url+", aborting ("+str(exc)+")"
sys.exit(1)
def load_hosts(url) :
"""Load a hosts file into data and ips global vars"""
global data
global ips
if url.startswith("/") :
handler = file(url)
islocal = True
else :
try : handler = urllib2.urlopen(url)
except Exception, exc : url_exception_handler(exc)
islocal = False
data.append("####")
data.append("## Beginning of "+url)
while True :
try : line = handler.readline()
except Exception, exc :
if not islocal : url_exception_handler(exc)
raise
## Handle windows line-termination gracefully
line = line.replace("\r", "")
if line == "" : break
line = line.rstrip("\n")
if re.search(r"^\s*(?:#.*)?$", line) :
data.append(line)
continue
m = re.search(r"^(?P<ip>\S+)\s+(?P<hostnames>[^#]*?)\s*(?P<comment>#.*?)?\s*$", line)
if not m :
if url == localconfig :
data.append(line)
continue
else :
print >>sys.stderr, "Ignoring malformed line "+line
continue
ip = m.group("ip")
hostnames = re.split(r"\s+", m.group("hostnames"))
## Ignore ip redirections update if they are deemed unsafe
if url != localconfig and ip not in provider_allowed_ips :
print >>sys.stderr, "Warning: ignoring unsafe update: "+line
continue
## Remove hostnames duplicates
newhostnames = []
for h in hostnames :
if ips.has_key(h) : continue
ips[h] = ip
newhostnames.append(h)
if len(newhostnames) == 0 : continue
if m.group("comment") is not None :
data.append(m.group("comment"))
## Only put one hostname per line when using external sources
if url == localconfig :
data.append(ip+"\t"+" ".join(newhostnames))
else :
data.extend([ ip+"\t"+hostname for hostname in newhostnames ])
data.append("## End of "+url)
data.append("####")
data.append("")
#######################################################################
## Program name
prog = os.path.basename(sys.argv[0])
## New data for /etc/hosts
data = [
"##",
"## Autogenerated by "+prog+" at "+time.asctime(),
"## DO NOT MODIFY, edit "+localconfig+" and rerun "+prog+" instead",
"##",
"",
]
## Hostname -> ip associations
ips = {}
## Backup /etc/hosts the first time we run
if not os.path.exists(localconfig) :
shutil.copy2(hosts, localconfig)
## Build new hosts file
for url in localconfig, hosts_provider :
load_hosts(url)
## Don't update config file if hasn't changed
rawdata = "\n".join(data)+"\n"
if os.path.exists(hosts) and file(hosts).read() == rawdata :
sys.exit(0)
## Change hosts file
tmp = hosts + os.extsep + "tmp"
f = file(tmp, "w")
f.write(rawdata)
f.flush()
f.close()
try : shutil.copymode(local, tmp)
except Exception : os.chmod(tmp, 00644)
os.rename(tmp,hosts)
#######################################################################
Dernière modification par kyncani (Le 14/03/2010, à 15:46)
Hors ligne
#75 Le 14/03/2010, à 14:00
- dwan
Re : [astuce] Un fichier HOSTS qui combat les pubs et liens malveillants !
adresse_autre=$(egrep -v "^127.0.0.1|^#|^255.255.255.255|^$|::1" /etc/hosts) # Vérification des adresses if [[ -n ${adresse_autre} ]] then echo -e "${ROUGE}Attention, des il y a des adresses possiblement dangeureuses :\n${NOIR}" echo "${adresse_autre}" fi
il recherche les lignes ne débutant pas par 127.0.0.1 ou 255.255.255.255 ou # ou ::1 ou vide
Tu as oublié un ^ ? Tu risques de passer à côté de lignes contenant ::1, mais ne débutant pas par ::1, ce qui inclut des adresses potentiellement dangereuses. Je précise que je ne suis pas très familier avec ipv6...
@kyncani : Je ne ferai pas non plus de mise à jour automatique. Je téléchargerai au coup par coup, et vérifierai à la main avec une variante de ma commande améliorée grâce au script de Hizoka :
~$ egrep -nv '^127.0.0.1|^::1|^$|^#|' /etc/hosts
Dernière modification par dwan (Le 14/03/2010, à 14:06)
Auto-hébergé !
HP dv6164ea
Hors ligne