Utiliser pihole en ligne de commmande
Un Pihole à usage multiple
Pihole est un logiciel fantastique pour supprimer la publicité, le traçage et bloquer l’accès à des sites indésirables. Il peut aussi être utilisé pour bloquer l’accès à certain site de façon temporaire.
Par exemple, pour ne pas être tenté d’aller surfer sur Twitter pendant les heures de travail, ou pour empêcher ses enfants de rester trop longtemps sur Youtube, il peut être utile de bloquer l’accès à ces sites uniquement à certaines heures.
L’interface web de pihole est peu pratique pour un tel usage. Il vaut
mieux utiliser la ligne de commande et cron
. Le programme pihole
permet
en effet d’ajouter et de supprimer des sites via la ligne de commande.
Le script
Voici donc un mini script pour ajouter ou supprimer des sites à la
blacklist
.
#!/bin/bash set -e readonly SCRIPTNAME=$(basename $0) readonly PIHOLE=/usr/local/bin/pihole readonly LIST='(^|\.)dailymotion\.com$ (^|\.)vimeocdn\.com$ (^|\.)vimeo\.com$ (^|\.)googlevideo\.com$ (^|\.)youtube\.(de|fr|be|com) ' action () { local action=$1 local del="" if [[ "${action}" == "allow" ]] then del='--delmode' fi $PIHOLE --regex $del -q "'"${LIST}"'" } readonly ARG1=$1 case "$ARG1" in block) action block ;; allow) action allow ;; *) echo "Usage: $SCRIPTNAME {block|allow}" >&2 exit 3 ;; esac
Example de crontab
Pour autoriser uniquement l’accès aux sites entre 17 heure et 18:30 le week-end:
0 17 * * 1,2,3,4,5 /usr/local/bin/dynamic-regex-list.sh allow > /dev/null 2>&1 30 18 * * 1,2,3,4,5 /usr/local/bin/dynamic-regex-list.sh block > /dev/null 2>&1
Dans cet exemple, le script a été nommé dynamic-regex-list.sh
et placé
dans le répertoire /usr/local/bin/
.