Outils pour utilisateurs

Outils du site


dns-blocklist-win

Mise en place de la mise à jour automatique de liste de blocage DNS sous Windows 10

Je propose une liste de blocage DNS qui permet de bloquer la majorité des publicités, trackers et malwares. Voici les instructions pour mettre en place une automatisation de la mise à jour de cette liste pour Windows 10 sans logiciel additionel.

Windows est une bouse infâme au niveau de la gestion du réseau : Il semble qu'avec un fichier hosts conséquent, le système (et certains applications) se mettent à ramer, là où ce genre de manipulation ne pose aucun soucis sous tous les autres systèmes d'exploitation. Du coup, même si c'est faisable, la manipulation décrite dans cette page va potentiellement faire ramer votre machine. Parce que Windows est infoutu de gérer un fichier hosts de 10 Mo. (Je ne vous dirai de passer sous Linux mais vous savez ce que je pense de Windows…)
Opinion : Comme Windows est un immonde clickdrôme et que la commande schtasks /create de Microsoft ne possède pas toutes les options du planificateur de tâches, cette page va vous guider pas à pas avec des captures d'écran afin d'effectuer la manipulation vous-même, manuellement.

Etape 1 : Désactiver le "Client DNS"

Le "Client DNS" de Windows est un service censé améliorer la résolution DNS, mais dans la pratique il part complètement en vrille quand le fichier hosts contient trop de lignes. (C'est bien le seul système d'exploitation que je connaisse qui ait un problème avec ça). Il est donc impératif de désactiver ce service avant d'installer la liste de blocage.

Il est possible que la désactivation de ce service gêne l'accès à certains modèles de NAS.
  1. Dans le menu Démarrer, lancez regedit
  2. Allez dans Ordinateur\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache
  3. Passez la valeur de Start à 4 en double-cliquant dessus (elle est probablement par défaut à 2).
  4. Redémarrez votre ordinateur
  5. Lancez services.msc vérifiez que le service "Client DNS" est bien désactivé:

Etape 2 : Créer la tâche planifiée

Désactivez impérativement le service Client DNS (voir Étape 1) avant d'effectuer les manipulations ci-dessous.
Vous êtes prévenu·e.
  1. Dans le menu Démarrer, tapez "plani" et cliquez sur "Planificateur de tâches"
  2. Tout à droite, cliquez sur "Créer une tâche". Nous allons maintenant y aller onglet par onglet:
  3. Onglet "Général", modifiez les paramètres tels qu'indiqués en rouge dans la capture d'écran ci-dessous:
  4. Onglet "Déclencheurs", bouton "Nouveau…" : Choisissez "Chaque semaine", puis l'heure et le jour (par exemple Samedi). Vous pouvez bien entendu choisir tous les jours, mais c'est probablement inutile.
  5. Onglet "Actions", bouton "Nouveau…" et dans "Programme/script", collez très exactement ceci:
    powershell -Command "Invoke-WebRequest -Uri 'https://sebsauvage.net/hosts/hosts' -OutFile 'C:\Windows\System32\drivers\etc\hosts'"

    et cliquez sur "Ok".

  6. Il va vous signaler "Il semble que des arguments aient été inclus…" : Cliquez sur "Oui". Votre écran devrait ressembler à ceci:
  7. Onglet "Conditions" : cochez "Ne démarrer la tâche que si l'ordinateur est relié au secteur":
  8. Onglet "Paramètres" : Cochez "Exécuter la tâche dès que possible si un démarrage plannifié est manqué":
  9. Et enfin cliquez sur "Ok". Votre tâche planifiée est créée.
  10. Dans la colonne de gauche, cliquez sur "Bibliothèque du Planificateur de tâches": Vous devriez voir votre tâche "hosts-update" dans la liste au milieu.

Vous n'avez plus besoin d'y toucher, mais pour la première fois, lançons manuellement cette tâche: Assurez-vous que vous êtes connecté⋅e à internet, et faire un clic-droit sur la tâche hosts-update et choisissez "Exécuter". Le status de la tâche va passer à "En cours":

Attendez un peu, et appuyez sur la touche F5 jusqu'à ce que le status repasse à "Prêt". La colonne "Résultat de la dernière exécution" doit afficher "L'opération a réussi. (0x0)"

Dans l'explorateur de fichiers, dans le répertoire C:\Windows\System32\drivers\etc\ vous devez voir un fichier hosts qui fait un peu plus de 10 Mo. Si c'est le cas, bravo ça a fonctionné. Si le fichier est plus petit (moins de 1 ko) c'est que ça a échoué.

Pour vérifier, dans le menu Démarrer tapez "cmd" et cliquez sur "Invite de commande". Dans la fenêtre qui s'affiche, tapez

ping doubleclick.net

Si tout va bien, cela va échouer avec le message suivant:

Félicitations, la liste de blocage est en place !

Il ne faut pas réactiver le service "Client DNS" après avoir installé tout ceci.

Dans la "Protection contre les virus et menaces" de Windows, vous aurez sans doute une alerte:

Cliquez sur "Autoriser sur l'appareil" puis le bouton "Intervenir".

Retirer la liste de blocage ?

  • Désactivez la tâche planifiée (clic-droit sur "hosts-update" > Désactiver)
  • Supprimez le fichier C:\Windows\System32\drivers\etc\hosts (il vous faudra les droits administrateur).
dns-blocklist-win.txt · Dernière modification : 2023/11/08 09:26 de sebsauvage