From 5e9606aa4df240fcd21e9411277bd5fb9a4bf3a0 Mon Sep 17 00:00:00 2001 From: MHSanaei Date: Mon, 6 Jul 2026 12:44:37 +0200 Subject: [PATCH] fix(script): stop logging an error when Enter accepts the default ACME port Pressing Enter at the 'Please choose which port to use (default is 80)' prompt left WebPort empty, and bash arithmetic treats an empty string as 0, so the out-of-range branch fired and printed 'Your input is invalid' even though the default was correctly applied. Handle empty input as accepting the default silently, and validate real input with a digits-only regex so non-numeric entries like '8x' get the invalid-input message instead of a bash arithmetic error. Applied to the identical prompt in x-ui.sh, install.sh, and update.sh. Fixes #5829 --- install.sh | 4 +++- update.sh | 4 +++- x-ui.sh | 4 +++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/install.sh b/install.sh index e2a637d43..ffa0479e0 100644 --- a/install.sh +++ b/install.sh @@ -679,7 +679,9 @@ ssl_cert_issue() { # get the port number for the standalone server local WebPort=80 prompt_or_default WebPort "Please choose which port to use (default is 80): " "80" XUI_ACME_HTTP_PORT - if [[ ${WebPort} -gt 65535 || ${WebPort} -lt 1 ]]; then + if [[ -z ${WebPort} ]]; then + WebPort=80 + elif [[ ! ${WebPort} =~ ^[1-9][0-9]*$ || ${WebPort} -gt 65535 ]]; then echo -e "${yellow}Your input ${WebPort} is invalid, will use default port 80.${plain}" WebPort=80 fi diff --git a/update.sh b/update.sh index f3efb8a0a..40910eaa3 100755 --- a/update.sh +++ b/update.sh @@ -498,7 +498,9 @@ ssl_cert_issue() { # get the port number for the standalone server local WebPort=80 read -rp "Please choose which port to use (default is 80): " WebPort - if [[ ${WebPort} -gt 65535 || ${WebPort} -lt 1 ]]; then + if [[ -z ${WebPort} ]]; then + WebPort=80 + elif [[ ! ${WebPort} =~ ^[1-9][0-9]*$ || ${WebPort} -gt 65535 ]]; then echo -e "${yellow}Your input ${WebPort} is invalid, will use default port 80.${plain}" WebPort=80 fi diff --git a/x-ui.sh b/x-ui.sh index 94e74198f..4125198c4 100644 --- a/x-ui.sh +++ b/x-ui.sh @@ -1838,7 +1838,9 @@ ssl_cert_issue() { # get the port number for the standalone server local WebPort=80 read -rp "Please choose which port to use (default is 80): " WebPort - if [[ ${WebPort} -gt 65535 || ${WebPort} -lt 1 ]]; then + if [[ -z ${WebPort} ]]; then + WebPort=80 + elif [[ ! ${WebPort} =~ ^[1-9][0-9]*$ || ${WebPort} -gt 65535 ]]; then LOGE "Your input ${WebPort} is invalid, will use default port 80." WebPort=80 fi