config: Add new option DAEMON_LOG_ENABLE

This commit is contained in:
remittor
2025-02-09 13:28:59 +03:00
parent c187d544e3
commit 41df444327
5 changed files with 73 additions and 0 deletions

View File

@@ -100,6 +100,10 @@ return view.extend({
o.rmempty = false;
o.datatype = 'string';
o = s.taboption(tabname, form.Flag, 'DAEMON_LOG_ENABLE', _('DAEMON_LOG_ENABLE'));
o.rmempty = false;
o.default = 0;
/* NFQWS_OPT_DESYNC tab */
tabname = 'nfqws_params';

View File

@@ -140,3 +140,8 @@ DISABLE_IPV6=1
# possible values : get_user.sh get_antizapret.sh get_combined.sh get_reestr.sh get_hostlist.sh
# comment if not required
#GETLIST=get_antizapret_domains.sh
DAEMON_LOG_ENABLE=0
DAEMON_LOG_FILE="/tmp/zapret+<DAEMON_NAME>+<DAEMON_IDNUM>+<DAEMON_CFGNAME>.log"

View File

@@ -17,6 +17,7 @@ function set_cfg_default_values
set $cfgname.config.MODE_FILTER='hostlist'
set $cfgname.config.DISABLE_CUSTOM='0'
set $cfgname.config.WS_USER='daemon'
set $cfgname.config.DAEMON_LOG_ENABLE='0'
# autohostlist options
set $cfgname.config.AUTOHOSTLIST_RETRANS_THRESHOLD='3'
set $cfgname.config.AUTOHOSTLIST_FAIL_THRESHOLD='3'

View File

@@ -0,0 +1,62 @@
From 069fb25032d1b85ea57615ca234752e3969b777b Mon Sep 17 00:00:00 2001
From: remittor <remittor@gmail.com>
Date: Sat, 8 Feb 2025 22:04:51 +0300
Subject: [PATCH] Add support log file for each daemons
---
diff --git a/common/custom.sh b/common/custom.sh
index 0af19c0..41c0967 100644
--- a/common/custom.sh
+++ b/common/custom.sh
@@ -13,9 +13,16 @@ custom_runner()
dir_is_not_empty "$CUSTOM_DIR/custom.d" && {
for script in "$CUSTOM_DIR/custom.d/"*; do
[ -f "$script" ] || continue
+ DAEMON_CFGNAME_SAVED="$DAEMON_CFGNAME"
+ unset DAEMON_CFGNAME
unset -f $FUNC
. "$script"
+ if [ -z "$DAEMON_CFGNAME" ]; then
+ DAEMON_CFGNAME="$(basename "$script")"
+ DAEMON_CFGNAME="${DAEMON_CFGNAME%%.*}"
+ fi
existf $FUNC && $FUNC "$@"
+ DAEMON_CFGNAME="$DAEMON_CFGNAME_SAVED"
done
}
}
diff --git a/init.d/openwrt/zapret b/init.d/openwrt/zapret
index 8d6d3a9..fcb1e91 100755
--- a/init.d/openwrt/zapret
+++ b/init.d/openwrt/zapret
@@ -58,12 +58,26 @@ run_daemon()
# use $PIDDIR/$DAEMONBASE$1.pid as pidfile
local DAEMONBASE="$(basename "$2")"
echo "Starting daemon $1: $2 $3"
+ local DAEMON_NAME="$DAEMONBASE"
+ local DAEMON_IDNUM=$1
+ local DAEMON_PATH="$2"
+ local DAEMON_ARGS="$3"
+ local DAEMON_LOG=
+ if [ "$DAEMON_LOG_ENABLE" = "1" -a -n "$DAEMON_LOG_FILE" ]; then
+ DAEMON_LOG="$DAEMON_LOG_FILE"
+ DAEMON_LOG=${DAEMON_LOG/<DAEMON_NAME>/$DAEMON_NAME}
+ DAEMON_LOG=${DAEMON_LOG/<DAEMON_IDNUM>/$DAEMON_IDNUM}
+ DAEMON_LOG=${DAEMON_LOG/<DAEMON_CFGNAME>/$DAEMON_CFGNAME}
+ DAEMON_ARGS="--debug=@$DAEMON_LOG $DAEMON_ARGS"
+ fi
procd_open_instance
- procd_set_param command $2 $3
+ procd_set_param command $DAEMON_PATH $DAEMON_ARGS
procd_set_param pidfile $PIDDIR/$DAEMONBASE$1.pid
procd_close_instance
}
+DAEMON_CFGNAME="main"
+
run_tpws()
{
[ "$DISABLE_IPV4" = "1" ] && [ "$DISABLE_IPV6" = "1" ] && return 0
--
2.41.0.windows.3

View File

@@ -77,6 +77,7 @@ sync_param DISABLE_IPV6
sync_param MODE_FILTER
sync_param DISABLE_CUSTOM
sync_param WS_USER str
sync_param DAEMON_LOG_ENABLE
sync_param AUTOHOSTLIST_RETRANS_THRESHOLD
sync_param AUTOHOSTLIST_FAIL_THRESHOLD