Bloquer de la pub sur tous ses périphériques du réseau
Enfin, autant qu'on peut
Logiciels / Logiciels Internet

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Je vais donc être expéditif.
Android à généralement des pub de partout. J'aime bien les supprimer avec le fichier hosts lorsque le périphérique est rooté (les miens). Pour Mme, j'ai stricte interdiction d'y toucher. Qu'à cela ne tienne !
Je m'en vais donc profiter du tuto (page wiki) de Squidf pour monter le résolveur local, utiliser les paramètres de la box pour le définir comme résolveur, puis configurer unbound pour mettre certains domaines sur liste noire.
Première chose, et j'attends des nouvelles de squidf, sur la page wiki : https://wiki.mageia.org/en/Cache_et_r%C3%A9solveur_DNS_local_Unbound-fr#DNSSEC
aucune mention s'il faut le faire à chaque démarrage. Puis plus loin dans le fichier de configuration :
Citation :
alors par doute j'ai fait mes modifications, j'ai ajouté la ligne :"# If you want to perform DNSSEC validation, run unbound-anchor before you start unbound (i.e. in the system boot scripts)."
Code TEXT :
ExecStartPre=/usr/sbin/unbound-anchor -v -a /etc/unbound/root.key
juste avant ExecStart du fichier : /etc/systemd/system/multi-user.target.wants/unbound.service
Puis, je veux garder des logs en local pour savoir qui demande quoi (quel site de pub a été demandé, ça m'a déjà servi pour supprimer la pub incorporée à skype il y a peut-être dix ans de ça), donc dans le fichier /etc/unbound/unbound.conf j'ai ajouté à la section serveur :
Code TEXT :
chroot: "" logfile: /var/log/unbound.log verbosity: 1 log-queries: yes
et ça ne marchait pas en local...
Donc j'ai cherché et ajouté encore :
Code TEXT :
interface: 0.0.0.0 interface: ::0 access-control: 127.0.0.0/8 allow access-control: 192.168.0.0/8 allow
J'ai une freebox, donc j'ai ajouté une ligne comme l'exemple le montrait :
Code TEXT :
local-data: "mafreebox.freebox.fr. IN A 192.168.0.254"
et voilà ! ca marche en directe.
Je viens de régler le serveur DHCP de la freebox en ajoutant l'adresse de mon serveur local : ça marche encore !
dans paramètre de ma freebox, mode avancé, réseau local, DHCP, DNS, serveur DNS 1
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yann Membre non connecté
-
- Voir le profil du membre Yann
- Inscrit le : 10/11/2007
- Groupes :
amicalement, Yann.
Mageia 9 64 XFCE sur mon bureau et sur mon portable.
Mageia 9 64 XFCE sur mon bureau et sur mon portable.

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Pour le log, ma source était : https://snippets.khromov.se/enable-logging-of-dns-queries-in-unbound-dns-resolver/
Pour le blocage des domains, j'avais deux sources :
https://medium.com/@steffinstanly/unbound-dns-blocking-3567986a5735
et
https://vermaden.wordpress.com/2020/11/18/unbound-dns-blacklist/
La première source m'a donné une bonne liste de liste, ainsi j'utilise:
https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
Mais les modifications dans le fichier /etc/unbound/unbound.conf donnait toujours des erreurs, c'est la seconde source qui met la puce à l'oreille, il converti les lignes. Son script étant incompréhensible pour moi (trop d'imbrication et de retour à la ligne, etc, j'ai fait mon propre script que j'ai placé dans :
/usr/local/bin/update_block_list.sh
Code BASH :
#!/bin/bash big_list=$(mktemp) header=$(mktemp) tempf=$(mktemp) list_source='https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts' config_file="/etc/unbound/blacklist.conf" curl -s ${list_source} | tr -d '\r' > ${big_list} #Supprime tous les domaines commentés sed -i 's|^[[:space:]]*#[[:space:]]*0\.0\.0\.0|0\.0\.0\.0|' ${big_list} #Supprime tous les commentaires sed -i 's|#.*$||' ${big_list} #Supprime tous les espaces en fin de lignes sed -i 's|[[:space:]]\+$||' ${big_list} #Supprime toutes les lignes vides sed -i '/^$/d' ${big_list} #Supprime lzs lignes ne commençant pas par 0.0.0.0 (les alias pour les noms de domaines) sed -i '/^0\.0\.0\.0/!d' ${big_list} # Supprime le début des lignes pour n'avoir qu'une liste pure et simple de domaines sed -i 's|^0\.0\.0\.0[[:space:]]*||' ${big_list} #Supprime la première ligne inutile sed -i '/^0\.0\.0\.0/d' ${big_list} #Tri et supprime les doublons sort ${big_list} | uniq >${tempf} cat ${tempf} >${big_list} #Ajout de la syntaxe unbound à chaque ligne sed -i 's|^\(.*\)|local-zone: \1 always_nxdomain|' ${big_list} #Ajout d'un entête au fichier de contiguration echo -e "#autogenerated by $(readlink -f ${0})\nserver:" >${header} cat ${header} ${big_list} >${config_file} rm -f ${big_list} ${header} exit 0
et pour la configuration de unbound, j'ai ajouté à la première ligne du fichier /etc/unbound/unbound.conf :
Code TEXT :
include: /etc/unbound/blacklist.conf
Le script pour les sources peut être amélioré, actuellement la liste peut contenir :
subB.subA.domain.tld
subC.subA.domain.tld
subA.domain.tld
sauf que s'il y a une entrée subA.domain.tld, les sous domaines sont déjà intégrés, et nous avons là déjà deux doublons.
Un début de solution est :
Code BASH :
for i in ${list} if [[ 1 -lt $(grep -c ${i} ${list}) ]] ; then echo ${i} grep ${i} ${list} | grep -v "^${i}\$" >${list_doublons} fi done
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Yann :
Bonsoir à tous, j'utilise Blokada sur tous mes périphériques Android.
https://blokada.org
https://blokada.org
Merci Yann, mais je n'ai pas le droit de toucher à la tablette de Mme, donc installer quelque chose n'est pas une solution.
Maintenant je pense à un parc informatique ou une flotte d'une centaine de téléphone dans une entreprise, tu installerais un à un ?
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Jybz Membre non connecté
-
- Voir le profil du membre Jybz
- Inscrit le : 10/10/2018
- Groupes :
-
Administrateur
-
Forgeron
Code BASH :
#!/bin/bash big_list=$(mktemp unboundlist-XXXX) header=$(mktemp unboundlist-XXXX) tempf=$(mktemp unboundlist-XXXX) list_doublons=$(mktemp unboundlist-XXXX) unbound_dir="/etc/unbound" list_source='https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts' #list_source2='https://raw.githubusercontent.com/oznu/dns-zone-blacklist/master/unbound/unbound-nxdomain.blacklist' config_file="${unbound_dir}/blacklist.conf" curl -s ${list_source} | tr -d '\r' > ${big_list} mkdir -p ${unbound_dir} sed -i 's|^[[:space:]]*#[[:space:]]*0\.0\.0\.0|0\.0\.0\.0|' ${big_list} sed -i 's|#.*$||' ${big_list} sed -i 's|[[:space:]]\+$||' ${big_list} sed -i '/^$/d' ${big_list} sed -i '/^0\.0\.0\.0/!d' ${big_list} sed -i 's|^0\.0\.0\.0[[:space:]]*||' ${big_list} sed -i '/^0\.0\.0\.0/d' ${big_list} sort ${big_list} | uniq >${tempf} cat ${tempf} >${big_list} # big_list clean. echo "" >${tempf} #Remove doubles (sub-domains) for i in $(cat ${big_list}) ; do #if one element with a dot in front is mentionned, then the mentions are subdomains if [[ 0 -lt $(grep -c "\.${i}$" ${big_list}) ]] ; then #insert subdomains in the list grep "\.${i}$" ${big_list} | grep -v "^${i}" >> ${list_doublons} fi done #Remove subdomains from the main list grep -v -f ${list_doublons} ${big_list} >${tempf} #Remove lines that only contain a TLD like shortcut for local links ff, fe but also inf. grep "\." ${tempf} >${big_list} #Format the list for unbound sed -i 's|^\(.*\)|local-zone: \1 always_nxdomain|' ${big_list} echo -e "#autogenerated by $(readlink -f ${0})\nserver:" >${header} #Write unbound configuration cat ${header} ${big_list} >${config_file} rm -f ${big_list} ${header} ${tempf} ${list_doublons} exit 0
Le script est devenu bien plus long (8minutes), mais la liste passe de 99800 éléments à 60200 éléments. Un tiers de réduction, je pense que ça allègera la configuration.
Téléverser une image : /wiki/hebergement-de-fichiers-sur-mlo
Arch | Machine | OS |
x86_64 | lenovo x250 | mga9 |
armv7hl | bananapro | mga9 |
aarch64 | Raspberry Pi 4B | mga9 |

Yann Membre non connecté
-
- Voir le profil du membre Yann
- Inscrit le : 10/11/2007
- Groupes :
amicalement, Yann.
Mageia 9 64 XFCE sur mon bureau et sur mon portable.
Mageia 9 64 XFCE sur mon bureau et sur mon portable.
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie