diff --git a/core/scripts/webpanel/webpanel_shell.sh b/core/scripts/webpanel/webpanel_shell.sh index e4d5eca..65e6c4f 100644 --- a/core/scripts/webpanel/webpanel_shell.sh +++ b/core/scripts/webpanel/webpanel_shell.sh @@ -195,6 +195,20 @@ show_webpanel_api_token() { source /etc/hysteria/core/scripts/webpanel/.env echo "$API_TOKEN" } +show_webpanel_services_status() { + # Return both services' statuses in JSON format as true (if active) or false (otherwise) + + local webpanel_status=$(systemctl is-active webpanel.service) + local caddy_status=$(systemctl is-active caddy.service) + + local webpanel_active=false + local caddy_active=false + + [[ "$webpanel_status" == "active" ]] && webpanel_active=true + [[ "$caddy_status" == "active" ]] && caddy_active=true + + echo -e "{\"webpanel\": $webpanel_active, \"caddy\": $caddy_active}" +} stop_service() { echo "Stopping Caddy..." @@ -225,6 +239,9 @@ case "$1" in api-token) show_webpanel_api_token ;; + status) + show_webpanel_services_status + ;; *) echo -e "${red}Usage: $0 {start|stop} ${NC}" exit 1