1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/pihole_ynh.git synced 2024-09-03 20:05:58 +02:00
pihole_ynh/conf/dnsmasq_regenconf_hook
2017-11-21 18:41:40 +01:00

53 lines
1.6 KiB
Bash
Executable file

#!/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