From acdb0d2838096c73d56ad66ced2e7fcc8f8d24ba Mon Sep 17 00:00:00 2001 From: MacRimi Date: Fri, 14 Nov 2025 21:30:58 +0100 Subject: [PATCH] Update menu --- menu | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/menu b/menu index b11320f..3c05ec8 100644 --- a/menu +++ b/menu @@ -29,7 +29,6 @@ # for managing Proxmox VE using ProxMenux. # ========================================================== - # Configuration ============================================ REPO_URL="https://raw.githubusercontent.com/MacRimi/ProxMenux/main" BASE_DIR="/usr/local/share/proxmenux" @@ -47,45 +46,58 @@ fi check_updates() { local INSTALL_SCRIPT="$BASE_DIR/install_proxmenux.sh" + local VERSION_URL="$REPO_URL/version.txt" + local INSTALL_URL="$REPO_URL/install_proxmenux.sh" + + + local CURL_OPTS=( + -fsSL + --connect-timeout 3 + --max-time 5 + ) + local REMOTE_VERSION - REMOTE_VERSION=$(curl -fsSL "$REPO_URL/version.txt" | head -n 1) - + REMOTE_VERSION="$(curl "${CURL_OPTS[@]}" "$VERSION_URL" 2>/dev/null | head -n 1 || true)" + if [ -z "$REMOTE_VERSION" ]; then return 0 fi - - local LOCAL_VERSION - LOCAL_VERSION=$(head -n 1 "$LOCAL_VERSION_FILE") - + + 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 - + if whiptail --title "$(translate "Update Available")" \ --yesno "$(translate "New version available") ($REMOTE_VERSION)\n\n$(translate "Do you want to update now?")" \ 10 60 --defaultno; then + msg_warn "$(translate "Starting ProxMenux update...")" - if wget -qO "$INSTALL_SCRIPT" "$REPO_URL/install_proxmenux.sh"; then + + if curl "${CURL_OPTS[@]}" "$INSTALL_URL" -o "$INSTALL_SCRIPT"; then chmod +x "$INSTALL_SCRIPT" source "$INSTALL_SCRIPT" + else + msg_warn "$(translate "Unable to download the installer. Please try again later.")" fi else msg_warn "$(translate "Update postponed. You can update later from the menu.")" fi } - - main_menu() { exec bash "$LOCAL_SCRIPTS/menus/main_menu.sh" } - load_language initialize_cache check_updates