10
novembre
2022
17:00

Script pour supprimer les publicités des pages Web en fonction du fichier hosts

10 novembre 2022 17:00

Sur mon smartphone, j'utilise un programme pour bloquer les publicités AdAway. Pour un ordinateur Linux, j'ai écrit un court script en sh pour créer un fichier hosts à partir de 4 sources (dont 3 téléchargées depuis www, dont une est la mienne).

L'essence du script consiste à charger des hôtes spéciaux à partir de l'URL et du fichier pour bloquer les publicités, puis à les combiner dans un seul fichier et à les copier dans le fichier /etc/hosts.

Je joins le script dans une archive ZIP (mise à jour le 16/01/2025).

gethosts.zip

Avant d'exécuter le script, vous devez faire une copie de sauvegarde du fichier /etc/hosts.

L'avantage du script est qu'il ne peut être exécuté qu'occasionnellement ; un lancement fréquent est contre-indiqué.
Après avoir remplacé le fichier hosts, non seulement la publicité est supprimée, mais le temps de chargement des pages Web est également réduit.

Ajout à partir du 15/01/2025 :

Pour que le blocage des publicités fonctionne correctement, aucun service ne doit être exécuté sur le PC local et écouter sur les ports 80 et 443.

Effectuer une vérification. Vous pouvez vérifier qu'aucun service ne fonctionne sur les ports 80 et 443 avec la commande :
sudo netstat -tlpn | grep -E ':80|:443'

Si Apache2 est installé, vous devez remplacer son port 80 par un autre, par exemple 82, dans les fichiers :

  • /etc/apache2/ports.conf
  • /etc/apache2/sites-enabled/000-default.conf
    Après avoir modifié les fichiers de configuration, vous devez redémarrer le serveur Web :sudo service apache2 restart

Mise à jour du 23/01/2025 :

Pour effacer les enregistrements qui se trouvent dans le cache du serveur DNS local du service résolu après la mise à jour du fichier hosts, je recommande de réinitialiser le cache DNS local à l'aide de la commande :
sudo resolvectl flush-caches
Apportez les modifications appropriées au fichier de commande gethosts.sh.