mirror of
https://github.com/eduardogsilva/wireguard_webadmin.git
synced 2025-04-19 08:55:12 +00:00
41 lines
819 B
Bash
41 lines
819 B
Bash
|
#!/bin/bash
|
||
|
CONFIG_FILE="/etc/dnsmasq/wireguard_webadmin_dns.conf"
|
||
|
DEFAULT_CONFIG_CONTENT="
|
||
|
no-dhcp-interface=
|
||
|
server=1.1.1.1
|
||
|
server=1.0.0.1
|
||
|
|
||
|
listen-address=0.0.0.0
|
||
|
bind-interfaces
|
||
|
"
|
||
|
|
||
|
create_default_config() {
|
||
|
if [ ! -f "$CONFIG_FILE" ]; then
|
||
|
echo "Config file not found, creating a new one..."
|
||
|
echo "$DEFAULT_CONFIG_CONTENT" > "$CONFIG_FILE"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
start_dnsmasq() {
|
||
|
dnsmasq -C "$CONFIG_FILE" &
|
||
|
while inotifywait -e modify "$CONFIG_FILE"; do
|
||
|
echo "Configuration changed, reloading dnsmasq..."
|
||
|
pkill dnsmasq
|
||
|
sleep 5
|
||
|
dnsmasq -C "$CONFIG_FILE" &
|
||
|
done
|
||
|
}
|
||
|
|
||
|
|
||
|
handle_sigint() {
|
||
|
echo "SIGINT received. Stopping inotifywait and dnsmasq..."
|
||
|
pkill inotifywait
|
||
|
pkill dnsmasq
|
||
|
exit 0
|
||
|
}
|
||
|
|
||
|
trap handle_sigint SIGINT
|
||
|
|
||
|
create_default_config
|
||
|
start_dnsmasq
|