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
This commit is contained in:
MHSanaei
2026-07-06 12:44:37 +02:00
parent f36f481e02
commit 5e9606aa4d
3 changed files with 9 additions and 3 deletions
+3 -1
View File
@@ -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
+3 -1
View File
@@ -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
+3 -1
View File
@@ -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