mirror of
https://github.com/andrey271192/WARP-Web-UI.git
synced 2026-09-20 11:55:34 +00:00
fix: support noninteractive install
This commit is contained in:
27
install.sh
27
install.sh
@@ -2,7 +2,8 @@
|
|||||||
# WARP Web UI — установка одной командой (Debian/Ubuntu, от root)
|
# WARP Web UI — установка одной командой (Debian/Ubuntu, от root)
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
REPO_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
SCRIPT_PATH="${BASH_SOURCE[0]:-$0}"
|
||||||
|
REPO_DIR="$(cd "$(dirname "${SCRIPT_PATH}")" && pwd)"
|
||||||
INSTALL_DIR="${WARP_WEBUI_INSTALL_DIR:-/opt/warp-webui}"
|
INSTALL_DIR="${WARP_WEBUI_INSTALL_DIR:-/opt/warp-webui}"
|
||||||
ENV_FILE="/etc/default/warp-webui"
|
ENV_FILE="/etc/default/warp-webui"
|
||||||
SERVICE_NAME="warp-webui"
|
SERVICE_NAME="warp-webui"
|
||||||
@@ -43,6 +44,9 @@ fi
|
|||||||
prompt() {
|
prompt() {
|
||||||
local var_name="$1" prompt_text="$2" default_val="$3"
|
local var_name="$1" prompt_text="$2" default_val="$3"
|
||||||
local input
|
local input
|
||||||
|
if [[ -n "${!var_name:-}" ]]; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
read -rp "${prompt_text} [${default_val}]: " input
|
read -rp "${prompt_text} [${default_val}]: " input
|
||||||
if [[ -z "${input}" ]]; then
|
if [[ -z "${input}" ]]; then
|
||||||
printf -v "${var_name}" '%s' "${default_val}"
|
printf -v "${var_name}" '%s' "${default_val}"
|
||||||
@@ -67,14 +71,19 @@ fi
|
|||||||
|
|
||||||
prompt WARP_WEBUI_USER "Логин администратора веб-панели" "warpadmin"
|
prompt WARP_WEBUI_USER "Логин администратора веб-панели" "warpadmin"
|
||||||
|
|
||||||
while true; do
|
if [[ -z "${WARP_WEBUI_PASS:-}" ]]; then
|
||||||
read -rsp "Пароль администратора (минимум 8 символов): " WARP_WEBUI_PASS
|
while true; do
|
||||||
echo
|
read -rsp "Пароль администратора (минимум 8 символов): " WARP_WEBUI_PASS
|
||||||
if [[ "${#WARP_WEBUI_PASS}" -ge 8 ]]; then
|
echo
|
||||||
break
|
if [[ "${#WARP_WEBUI_PASS}" -ge 8 ]]; then
|
||||||
fi
|
break
|
||||||
echo "Пароль слишком короткий. Нужно не менее 8 символов."
|
fi
|
||||||
done
|
echo "Пароль слишком короткий. Нужно не менее 8 символов."
|
||||||
|
done
|
||||||
|
elif [[ "${#WARP_WEBUI_PASS}" -lt 8 ]]; then
|
||||||
|
echo "WARP_WEBUI_PASS слишком короткий. Нужно не менее 8 символов."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Публичный адрес для подсказок в пресетах клиентов (необязательно)
|
# Публичный адрес для подсказок в пресетах клиентов (необязательно)
|
||||||
WARP_PUBLIC_HOST="${WARP_PUBLIC_HOST:-}"
|
WARP_PUBLIC_HOST="${WARP_PUBLIC_HOST:-}"
|
||||||
|
|||||||
Reference in New Issue
Block a user