feat: add service status and diagnostic tools to podkop UI
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ script=$(readlink "$initscript")
|
|||||||
NAME="$(basename ${script:-$initscript})"
|
NAME="$(basename ${script:-$initscript})"
|
||||||
config_load "$NAME"
|
config_load "$NAME"
|
||||||
|
|
||||||
EXTRA_COMMANDS="main list_update check_proxy check_nft check_github check_logs check_sing_box_connections check_sing_box_logs check_dnsmasq show_config show_version show_sing_box_config show_luci_version show_sing_box_version show_system_info"
|
EXTRA_COMMANDS="main list_update check_proxy check_nft check_github check_logs check_sing_box_connections check_sing_box_logs check_dnsmasq show_config show_version show_sing_box_config show_luci_version show_sing_box_version show_system_info get_status get_sing_box_status"
|
||||||
EXTRA_HELP=" list_update Updating domain and subnet lists
|
EXTRA_HELP=" list_update Updating domain and subnet lists
|
||||||
check_proxy Check if sing-box proxy works correctly
|
check_proxy Check if sing-box proxy works correctly
|
||||||
check_nft Show PodkopTable nftables rules
|
check_nft Show PodkopTable nftables rules
|
||||||
@@ -21,7 +21,8 @@ EXTRA_HELP=" list_update Updating domain and subnet lists
|
|||||||
show_sing_box_config Show current sing-box configuration
|
show_sing_box_config Show current sing-box configuration
|
||||||
show_luci_version Show LuCI app version
|
show_luci_version Show LuCI app version
|
||||||
show_sing_box_version Show sing-box version
|
show_sing_box_version Show sing-box version
|
||||||
show_system_info Show OpenWrt version and device model"
|
show_system_info Show OpenWrt version and device model
|
||||||
|
get_sing_box_status Get sing-box status"
|
||||||
|
|
||||||
[ ! -L /usr/sbin/podkop ] && ln -s /etc/init.d/podkop /usr/sbin/podkop
|
[ ! -L /usr/sbin/podkop ] && ln -s /etc/init.d/podkop /usr/sbin/podkop
|
||||||
|
|
||||||
@@ -1630,3 +1631,71 @@ show_system_info() {
|
|||||||
echo "=== Device Model ==="
|
echo "=== Device Model ==="
|
||||||
cat /tmp/sysinfo/model
|
cat /tmp/sysinfo/model
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get_sing_box_status() {
|
||||||
|
local running=0
|
||||||
|
local enabled=0
|
||||||
|
local status=""
|
||||||
|
local version=""
|
||||||
|
|
||||||
|
# Check if service is enabled
|
||||||
|
if [ -x /etc/rc.d/S99sing-box ]; then
|
||||||
|
enabled=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if service is running
|
||||||
|
if pgrep -f "sing-box" >/dev/null; then
|
||||||
|
running=1
|
||||||
|
version=$(sing-box version | head -n 1 | awk '{print $3}')
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Format status message
|
||||||
|
if [ $running -eq 1 ]; then
|
||||||
|
if [ $enabled -eq 1 ]; then
|
||||||
|
status="running & enabled"
|
||||||
|
else
|
||||||
|
status="running but disabled"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $enabled -eq 1 ]; then
|
||||||
|
status="stopped but enabled"
|
||||||
|
else
|
||||||
|
status="stopped & disabled"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "{\"running\":$running,\"enabled\":$enabled,\"status\":\"$status\"}"
|
||||||
|
}
|
||||||
|
|
||||||
|
get_status() {
|
||||||
|
local running=0
|
||||||
|
local enabled=0
|
||||||
|
local status=""
|
||||||
|
|
||||||
|
# Check if service is enabled
|
||||||
|
if [ -x /etc/rc.d/S99podkop ]; then
|
||||||
|
enabled=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Check if service is running
|
||||||
|
if pgrep -f "sing-box" >/dev/null; then
|
||||||
|
running=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Format status message
|
||||||
|
if [ $running -eq 1 ]; then
|
||||||
|
if [ $enabled -eq 1 ]; then
|
||||||
|
status="running & enabled"
|
||||||
|
else
|
||||||
|
status="running but disabled"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
if [ $enabled -eq 1 ]; then
|
||||||
|
status="stopped but enabled"
|
||||||
|
else
|
||||||
|
status="stopped & disabled"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "{\"running\":$running,\"enabled\":$enabled,\"status\":\"$status\"}"
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user