mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-11-18 03:26:17 +00:00
Update menu
This commit is contained in:
61
menu
61
menu
@@ -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"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user