mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-11-17 19:16:25 +00:00
Update menu
This commit is contained in:
59
menu
59
menu
@@ -49,64 +49,42 @@ 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 VERSION_URL INSTALL_URL INSTALL_SCRIPT
|
||||
local REMOTE_VERSION LOCAL_VERSION
|
||||
|
||||
local CURL_OPTS=(
|
||||
-fsSL
|
||||
--connect-timeout 3
|
||||
--max-time 5
|
||||
)
|
||||
|
||||
local REMOTE_VERSION
|
||||
REMOTE_VERSION="$(curl "${CURL_OPTS[@]}" "$VERSION_URL" 2>/dev/null | head -n 1 || true)"
|
||||
VERSION_URL="$REPO_URL/version.txt"
|
||||
INSTALL_URL="$REPO_URL/install_proxmenux.sh"
|
||||
INSTALL_SCRIPT="$BASE_DIR/install_proxmenux.sh"
|
||||
|
||||
|
||||
if [[ -z "$REMOTE_VERSION" ]]; then
|
||||
return 0
|
||||
fi
|
||||
[[ ! -f "$LOCAL_VERSION_FILE" ]] && return 0
|
||||
|
||||
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 TITLE MESSAGE
|
||||
TITLE="$(translate 'Update Available')"
|
||||
MESSAGE="$(translate 'New version available') ($REMOTE_VERSION)\n\n$(translate 'Do you want to update now?')"
|
||||
|
||||
if whiptail --title "$TITLE" \
|
||||
--yesno "$MESSAGE" \
|
||||
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...')"
|
||||
|
||||
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"
|
||||
|
||||
|
||||
if ! bash -n "$INSTALL_SCRIPT" >/tmp/proxmenux-install-syntax.log 2>&1; then
|
||||
msg_error "$(translate 'The installer has a syntax error. Aborting update. See:') /tmp/proxmenux-install-syntax.log"
|
||||
return 0
|
||||
fi
|
||||
bash "$INSTALL_SCRIPT" --update
|
||||
|
||||
|
||||
if bash "$INSTALL_SCRIPT" --update >/tmp/proxmenux-install.log 2>&1; then
|
||||
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
|
||||
msg_warn "$(translate 'Unable to download the installer. Please try again later.')"
|
||||
fi
|
||||
@@ -118,6 +96,7 @@ check_updates() {
|
||||
|
||||
|
||||
|
||||
|
||||
main_menu() {
|
||||
local MAIN_MENU="$LOCAL_SCRIPTS/menus/main_menu.sh"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user