|
@@ -7,11 +7,12 @@ STOP=01
|
|
|
|
|
|
CONFIGURATION=AdGuardHome
|
|
|
CRON_FILE=/etc/crontabs/root
|
|
|
-EXTRA_COMMANDS="do_redirect testbackup test_crontab force_reload"
|
|
|
+EXTRA_COMMANDS="do_redirect testbackup test_crontab force_reload isrunning"
|
|
|
EXTRA_HELP=" do_redirect 0 or 1\
|
|
|
testbackup backup or restore\
|
|
|
test_crontab
|
|
|
- force_reload"
|
|
|
+ force_reload
|
|
|
+ isrunning"
|
|
|
set_forward_dnsmasq()
|
|
|
{
|
|
|
local PORT="$1"
|
|
@@ -124,8 +125,22 @@ service_triggers() {
|
|
|
procd_add_reload_trigger "$CONFIGURATION"
|
|
|
[ "$(uci get AdGuardHome.AdGuardHome.redirect)" == "redirect" ] && procd_add_reload_trigger firewall
|
|
|
}
|
|
|
+isrunning(){
|
|
|
+config_load "${CONFIGURATION}"
|
|
|
+_isrunning
|
|
|
+local r=$?
|
|
|
+([ "$r" == "0" ] && echo "running") || ([ "$r" == "1" ] && echo "not run" ) || echo "no bin"
|
|
|
+return $r
|
|
|
+}
|
|
|
+_isrunning(){
|
|
|
+ config_get binpath $CONFIGURATION binpath "/usr/bin/AdGuardHome/AdGuardHome"
|
|
|
+ [ ! -f "$binpath" ] && return 2
|
|
|
+ pgrep $binpath 2>&1 >/dev/null && return 0
|
|
|
+ return 1
|
|
|
+}
|
|
|
force_reload(){
|
|
|
- procd_send_signal "$CONFIGURATION"
|
|
|
+ config_load "${CONFIGURATION}"
|
|
|
+ _isrunning && procd_send_signal "$CONFIGURATION" || start
|
|
|
}
|
|
|
get_tz()
|
|
|
{
|
|
@@ -324,7 +339,8 @@ boot_service() {
|
|
|
config_load "${CONFIGURATION}"
|
|
|
config_get waitonboot $CONFIGURATION waitonboot "0"
|
|
|
config_get_bool enabled $CONFIGURATION enabled 0
|
|
|
- start_service
|
|
|
+ config_get binpath $CONFIGURATION binpath "/usr/bin/AdGuardHome/AdGuardHome"
|
|
|
+ [ -f "$binpath" ] && start_service
|
|
|
if [ "$enabled" == "1" ] && [ "$waitonboot" == "1" ]; then
|
|
|
procd_open_instance "waitnet"
|
|
|
procd_set_param command "/usr/share/AdGuardHome/waitnet.sh"
|