| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- #!/bin/bash
- force=${2:-0} # 0/1 --force argument
- dryrun=${3:-0} # 0/1 --dry-run argument
- pending_conf=$4 # Path of the pending conf file
- temp_dir=/tmp/pi-hole.bck
- do_pre_regen() {
- if [ $dryrun -eq 0 ]
- then
- # Créer une sauvegarde des config dnsmasq de pi-hole. Que la regen-conf va sauvagement supprimer
- mkdir $temp_dir
- cp -a "/etc/dnsmasq.d/01-pihole.conf" "$temp_dir"
- test -e "/etc/dnsmasq.d/02-pihole-dhcp.conf" && cp -a "/etc/dnsmasq.d/02-pihole-dhcp.conf" "$temp_dir"
- test -e "/etc/dnsmasq.d/03-pihole-wildcard.conf" && cp -a "/etc/dnsmasq.d/03-pihole-wildcard.conf" "$temp_dir"
- # Décommente le cache-size de la config par défaut
- sed --in-place "s/^#pihole# cache-size=/cache-size=/g" /etc/dnsmasq.conf
- # Et commente celui de pi-hole
- sed --in-place "s/^cache-size=/#cache-size=/g" /etc/dnsmasq.d/01-pihole.conf
- fi
- }
- do_post_regen() {
- # Restaure la config dnsmasq de pi-hole
- cp -a "$temp_dir/01-pihole.conf" "/etc/dnsmasq.d/"
- test -e "$temp_dir/02-pihole-dhcp.conf" && cp -a "$temp_dir/02-pihole-dhcp.conf" "/etc/dnsmasq.d/"
- test -e "$temp_dir/03-pihole-wildcard.conf" && cp -a "$temp_dir/03-pihole-wildcard.conf" "/etc/dnsmasq.d/"
- # Supprime le dossier temporaire
- test -n $temp_dir && rm -r $temp_dir
- # Commente le cache-size de la config par défaut
- sed --in-place "s/^cache-size=/#pihole# cache-size=/g" /etc/dnsmasq.conf
- # Reload dnsmasq
- systemctl reload dnsmasq
- }
- case "$1" in
- pre)
- do_pre_regen
- ;;
- post)
- do_post_regen
- ;;
- *)
- echo "Hook called with unknown argument \`$1'" >&2
- exit 1
- ;;
- esac
- exit 0
|