mirror of
https://github.com/andrey271192/Keenetic-Split-DNS.git
synced 2026-09-21 12:02:01 +00:00
42 lines
892 B
Bash
Executable File
42 lines
892 B
Bash
Executable File
#!/bin/sh
|
|
# SmartDNS for Keenetic-Split-DNS (wraps Entware smartdns)
|
|
|
|
KSD_ETC="/opt/etc/keenetic-split-dns"
|
|
CONF="${KSD_ETC}/smartdns.conf"
|
|
PIDFILE="/opt/var/run/keenetic-split-dns/smartdns.pid"
|
|
LOGDIR="/opt/var/log/keenetic-split-dns"
|
|
|
|
start() {
|
|
mkdir -p "$LOGDIR" "$(dirname "$PIDFILE")"
|
|
[ -f "$CONF" ] || return 1
|
|
if pidof smartdns >/dev/null 2>&1; then
|
|
return 0
|
|
fi
|
|
smartdns -c "$CONF" -p "$PIDFILE" >/dev/null 2>&1 &
|
|
sleep 1
|
|
pidof smartdns >/dev/null 2>&1
|
|
}
|
|
|
|
stop() {
|
|
if [ -f "$PIDFILE" ]; then
|
|
kill "$(cat "$PIDFILE" 2>/dev/null)" 2>/dev/null || true
|
|
rm -f "$PIDFILE"
|
|
fi
|
|
killall smartdns 2>/dev/null || true
|
|
}
|
|
|
|
case "$1" in
|
|
start) start ;;
|
|
stop) stop ;;
|
|
restart) stop; sleep 1; start ;;
|
|
status)
|
|
if pidof smartdns >/dev/null 2>&1; then
|
|
echo "smartdns running"
|
|
exit 0
|
|
fi
|
|
echo "smartdns stopped"
|
|
exit 1
|
|
;;
|
|
esac
|
|
exit 0
|