mirror of
https://github.com/YunoHost-Apps/pihole_ynh.git
synced 2024-09-03 20:05:58 +02:00
53 lines
1.6 KiB
Bash
Executable file
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
|