|
|
@@ -0,0 +1,48 @@
|
|
|
+#!/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"
|
|
|
+ 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
|