Si vous avez installé un Pihole dans votre réseau, vous avez sans doute vite apprécié ses qualités de bloqueur de pub. Si vous ne savez toujours pas ce qu’est pihole ,je vous invite à lire ce tuto pour pouvoir le tester.
Donc la suite de ce billet est pour ceux qui en utilisent déjà un dans leur réseau. Au risque de me faire traiter de despote, je vous partage ici une petite astuce pour mettre en place un contrôle parental « low cost » très facile à mettre en oeuvre.
En creusant un peu , les options du pihole, je me suis aperçu qu’il était possible de bloquer ou d’autoriser des domaines spécifiques en ligne de commande.
Exemple: blocage de facebook
Exécuter dans un terminal sur votre pihole:
pihole --wild facebook.com
Toutes les requêtes DNS qui comporteront un domaine avec le mot « facebook.com » seront bloquées. terriblement efficace! Le « –wild » signifiant « wildcard« .
Attention si vous testez tout de suite l’accès à facebook.com dans un navigateur, pensez bien avant à vider le cache de Firefox:
shift+ctrl+r pour vider
Pour autoriser à nouveau l’accès à facebook:
pihole --wild -d facebook.com
-d –delmode remove the domain from the list
Mais me direz-vous il est possible de faire la même opération en web dans le joli tableau de bord de pihole , avec 2 clics de souris . Pourquoi s’embêter avec de la ligne de bash ?
Planification des blocages et des autorisations des sites
Tout simplement , parce que l’astuce réside dans le fait de pouvoir planifier les autorisations et les blocages de domaines . Avec 2 simples lignes dans la crontab comme ceci:
0 22 * * 1-5 /usr/local/bin/pihole --wild facebook.com snapchat.com && /usr/local/bin/pihole updateGravity
0 08 * * 1-5 /usr/local/bin/pihole --wild -d facebook.com snapchat.com && /usr/local/bin/pihole updateGravity
Ces 2 lignes inscrites dans la crontab ont pour effet de bloquer temporairement l’accès à Facebook et snapshat de 22H à 08h du matin. Et cette règle est valable que vous ayez un smartphone , une tablette ou un pc.
Dans notre exemple, on vise deux réseaux sociaux. On pourrait rajouter instagram.com, twitter.com, nimporte quel domaine de votre choix: youtube, marmiton.fr, lequipe.fr etc…
Pour conclure
Cette technique est efficace mais je me rapproche clairement des méthodes crades de certains FAI.(dns menteurs). L’éthique en prend un coup! Mais bon en général on la revoit à la baisse quand on a des ados connectés H24 .
Je ne suis pas hyper fan du contrôle parental et pour être honnête je ne pensais pas un jour devoir en passer par là. Mais les addictions à nos écrans sont telles, que cette solution peut être salvatrice pour prendre l’habitude de déconnecter quand est venu l’heure de dormir. Et je m’inclus dedans 🙂
Evidemment, pour qui s’y connait un peu ce système est facilement contournable en changeant simplement d’adresse de résolveur .
« de 22h a 8h du matin »
Il fait l’inverse là,
Wild a 8h = bloque
Wild -d à 22h débloque
oui oui jai vu, tu as raison j’ai dû le changer en même temps que tu le lisais 🙂 merci qd même de me l’avoir signalé !
Pas bête du tout! Dans le même genre il y a des listes pour bloquer les MàJ Windows.
Windows? c’est quoi ? 😀
L’ado en manque repassera sur la 4G 🙂
Evidement si l’ado a la 4g c’est que ses parents ont jugé qu’il était responsable au niveau de son utilisation. Sinon faut pas venir se plaindre 😛
Bonjour,
Je souhaite bloquer temporairement youtube entre 17h et 20h sur le pihole :
0 22 * * 1-5 /usr/local/bin/pihole –wild facebook.com snapchat.com && /usr/local/bin/pihole updateGravity
0 08 * * 1-5 /usr/local/bin/pihole –wild -d facebook.com snapchat.com && /usr/local/bin/pihole updateGravity
J’ai donc recopié et remplacé facebook.com par youtube.com, seulement ca ne fonctionne pas.
Si quelqu’un pourrait m’aider svp, merci.
bjr Dan,
les lignes que tu as copiées dans ta crontab sont destinées à bloquer « facebook.com et snapchat.com » de 22h à 8h du mat. Si tu souhaites bloquer uniquement youtube entre 17h et 20h, ce serait comme ça:
0 17 * * 1-5 /usr/local/bin/pihole –wild youtube.com && /usr/local/bin/pihole updateGravity
0 20 * * 1-5 /usr/local/bin/pihole –wild -d youtube.com && /usr/local/bin/pihole updateGravity
Rebonjour,
Je ne vois pas mes deux messages précédents bizarre
Bref ca ne fonctionne toujours pas
J’ai essayé avec la command
sudo crontab -e et j’ai ajouté ces deux lignes que vous m’aviez indiquées
et j’ai aussi testé avec crontab -e et ajouter ces deux lignes
et meme résultat, ne fonctionne tjs pas 🙁
https://ibb.co/bP7x0jC
A tt hasard tas fait du copier/coller des lignes ds ta crontab? Avant « wild » faut 2 tirets : –wild
oui je fais du copier coller ce que vous avez marqué ci-dessus.
Je viens de mettre — devant wild
et tjs pareil
C’est bizarre
Essaye sans passer par la crontab , de taper directement dans le terminal du pihole:
/usr/local/bin/pihole –wild youtube.com && /usr/local/bin/pihole updateGravity
En suite , il faut être patient car ya un cache pour le dns. Si tu fais un:
dig youtube.com
Regarde la partie ANSWERsection et le chiffre affiché à côté de « youtube.com ». C’est le temps qu’est gardé en secondes dans le cache la réponse par le résolveur.
exemple de réponse:
;; ANSWER SECTION:
youtube.com. 28 IN A 172.217.18.206
Ici donc c’est 28 secondes
Renouvelle une requête dig et tu verras que ce chiffre diminue. Lorsqu’il arrive à 0 , cest que le cache est vide et youtube sera bloqué!
(je viens de retester tt ca chez moi)
Salut,
Merci pour votre aide
Cette commande :
/usr/local/bin/pihole –wild youtube.com && /usr/local/bin/pihole updateGravity
C’est comme indiqué directement sur la console admin de Pihole sans passé par le terminal.
Ca fonctionne mais bizarrement uniquement sur mon pc et pas dans l’ensemble de mon reseau; c’est-à-dire pas sur mon téléphone, apple tv etc
Du coup, pour la plage d’heure bloquer temporairement de certains site, ca fonctionne comment ?
Merci encore
il peut y avoir plusieurs raisons que le dns de pihole ne fonctionne que sur ton pc
– assure toi que les autres machines chopent bien leur conf réseau via le dhcp (de la box ou du pihole); Sur ta box, T’as bien mis en dns primaire l’ip du hole et rien en dns secondaire?
– Pour les objets connectés telles que la TV, elles ont bien souvent leur propre dns codé en dur. Pareil pr ton tel , sauf si cest un android alors la tu peux normalement forcer l’utilisation du dns de ton choix
Le blocage des sites se fait via la tâche planifiée dans ta crontab, les requêtes sont répondues avec une adresse bidon de type 0.0.0.0
Bonjour benzo,
Merci de m’avoir répondu.
J’ai laissé tombé pour les tâches planifiées. Ca ne fonctionne pas.
Pour empêcher le petit de regarder youtube, je l’ajoute directement depuis la console admin de pihole et ainsi ca bloque immédiatement.
Et je l’enlève après voilà quoi.
Je ne comprends pas pourquoi ca ne fonctionne pas avec crontab quoi 🙁