Update menu

This commit is contained in:
MacRimi
2025-11-16 00:23:14 +01:00
parent 78d883a1b4
commit 30afb85260

61
menu
View File

@@ -49,64 +49,42 @@ fi
# ========================================================= # =========================================================
check_updates() { check_updates() {
local INSTALL_SCRIPT="$BASE_DIR/install_proxmenux.sh" local VERSION_URL INSTALL_URL INSTALL_SCRIPT
local VERSION_URL="$REPO_URL/version.txt" local REMOTE_VERSION LOCAL_VERSION
local INSTALL_URL="$REPO_URL/install_proxmenux.sh"
local CURL_OPTS=( VERSION_URL="$REPO_URL/version.txt"
-fsSL INSTALL_URL="$REPO_URL/install_proxmenux.sh"
--connect-timeout 3 INSTALL_SCRIPT="$BASE_DIR/install_proxmenux.sh"
--max-time 5
)
local REMOTE_VERSION
REMOTE_VERSION="$(curl "${CURL_OPTS[@]}" "$VERSION_URL" 2>/dev/null | head -n 1 || true)"
if [[ -z "$REMOTE_VERSION" ]]; then [[ ! -f "$LOCAL_VERSION_FILE" ]] && return 0
return 0
fi REMOTE_VERSION="$(curl -fsSL "$VERSION_URL" 2>/dev/null | head -n 1)"
[[ -z "$REMOTE_VERSION" ]] && return 0
LOCAL_VERSION="$(head -n 1 "$LOCAL_VERSION_FILE" 2>/dev/null)"
[[ -z "$LOCAL_VERSION" ]] && return 0
local LOCAL_VERSION=""
if [[ -f "$LOCAL_VERSION_FILE" ]]; then
LOCAL_VERSION="$(head -n 1 "$LOCAL_VERSION_FILE" 2>/dev/null || true)"
fi
[[ "$LOCAL_VERSION" = "$REMOTE_VERSION" ]] && return 0 [[ "$LOCAL_VERSION" = "$REMOTE_VERSION" ]] && return 0
local TITLE MESSAGE if whiptail --title "$(translate 'Update Available')" \
TITLE="$(translate 'Update Available')" --yesno "$(translate 'New version available') ($REMOTE_VERSION)\n\n$(translate 'Do you want to update now?')" \
MESSAGE="$(translate 'New version available') ($REMOTE_VERSION)\n\n$(translate 'Do you want to update now?')"
if whiptail --title "$TITLE" \
--yesno "$MESSAGE" \
10 60 --defaultno; then 10 60 --defaultno; then
msg_warn "$(translate 'Starting ProxMenux update...')"
local START_MSG
START_MSG="$(translate 'Starting ProxMenux update...')"
msg_warn "$START_MSG"
if curl "${CURL_OPTS[@]}" "$INSTALL_URL" -o "$INSTALL_SCRIPT"; then if curl -fsSL "$INSTALL_URL" -o "$INSTALL_SCRIPT"; then
chmod +x "$INSTALL_SCRIPT" chmod +x "$INSTALL_SCRIPT"
if ! bash -n "$INSTALL_SCRIPT" >/tmp/proxmenux-install-syntax.log 2>&1; then bash "$INSTALL_SCRIPT" --update
msg_error "$(translate 'The installer has a syntax error. Aborting update. See:') /tmp/proxmenux-install-syntax.log"
return 0
fi
if bash "$INSTALL_SCRIPT" --update >/tmp/proxmenux-install.log 2>&1; then exec "$0"
local DONE_MSG
DONE_MSG="$(translate 'ProxMenux has been updated successfully. Restarting menu...')"
msg_ok "$DONE_MSG"
exec "$0"
else
msg_error "$(translate 'Installer finished with errors. See log:') /tmp/proxmenux-install.log"
return 0
fi
else else
msg_warn "$(translate 'Unable to download the installer. Please try again later.')" msg_warn "$(translate 'Unable to download the installer. Please try again later.')"
fi fi
@@ -118,6 +96,7 @@ check_updates() {
main_menu() { main_menu() {
local MAIN_MENU="$LOCAL_SCRIPTS/menus/main_menu.sh" local MAIN_MENU="$LOCAL_SCRIPTS/menus/main_menu.sh"