From f41d98ac7296852882d4499a6f1360ddc9aa3179 Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Fri, 20 Dec 2024 21:44:51 +0100 Subject: [PATCH] Update menu.sh --- menu.sh | 60 ++++++++++++++++++++++++++------------------------------- 1 file changed, 27 insertions(+), 33 deletions(-) diff --git a/menu.sh b/menu.sh index 120c2ee..b55509f 100644 --- a/menu.sh +++ b/menu.sh @@ -2,13 +2,13 @@ # Configuración REPO_URL="https://raw.githubusercontent.com/MacRimi/ProxMenux/main" -SCRIPT_VERSION="1.0.0" # Versión actual del menú -LOCAL_VERSION_FILE="/usr/local/share/proxmenux/version.txt" -VERSION_FILE="/tmp/proxmenux_version" -LANGUAGE_FILE="/root/.proxmenux_language" # Archivo donde se guarda el idioma seleccionado -LANG_DIR="/usr/local/share/proxmenux/lang" -LANG_FILE="$LANG_DIR/selected.lang" -SKIP_UPDATE_CHECK=${SKIP_UPDATE_CHECK:-false} # Control de reinicio +BASE_DIR="/usr/local/share/proxmenux" +LANG_DIR="$BASE_DIR/lang" +LOCAL_VERSION_FILE="$BASE_DIR/version.txt" +REMOTE_VERSION_FILE="$BASE_DIR/latest_version.txt" +LANGUAGE_FILE="/root/.proxmenux_language" +MENU_TITLE="ProxMenux - Menú Principal" +SKIP_UPDATE_CHECK=${SKIP_UPDATE_CHECK:-false} # Colores para salida YW="\033[33m"; GN="\033[1;92m"; RD="\033[01;31m"; CL="\033[m" @@ -16,10 +16,8 @@ msg_info() { echo -ne " ${YW}[INFO] $1...${CL}"; } msg_ok() { echo -e " ${GN}[OK] $1${CL}"; } msg_error() { echo -e " ${RD}[ERROR] $1${CL}"; } -# Crear el directorio de idioma y versiones si no existe -if [ ! -d "$LANG_DIR" ]; then - mkdir -p "$LANG_DIR" -fi +# Crear carpetas necesarias +mkdir -p "$LANG_DIR" # Seleccionar idioma en la primera ejecución if [ ! -f "$LANGUAGE_FILE" ]; then @@ -39,11 +37,11 @@ else msg_info "Idioma cargado: $LANGUAGE" fi -# Comprobar si el archivo de idioma existe localmente +# Descargar archivo de idioma si no existe +LANG_FILE="$LANG_DIR/$LANGUAGE.lang" if [ ! -f "$LANG_FILE" ]; then - msg_info "Descargando archivo de idioma por primera vez..." - LANG_PATH="$REPO_URL/lang/$LANGUAGE.lang" - wget -qO "$LANG_FILE" "$LANG_PATH" + msg_info "Descargando archivo de idioma..." + wget -qO "$LANG_FILE" "$REPO_URL/lang/$LANGUAGE.lang" if [ $? -ne 0 ]; then msg_error "Error al cargar el archivo de idioma. Verifica la conexión a Internet o la URL." exit 1 @@ -54,28 +52,24 @@ fi source "$LANG_FILE" -# Verificar si hay una nueva versión del menú (solo si no se reinició) +# Verificar actualizaciones del menú if [ "$SKIP_UPDATE_CHECK" = "false" ]; then msg_info "Comprobando actualizaciones..." - wget -qO "$VERSION_FILE" "$REPO_URL/version.txt" - if [ $? -eq 0 ]; then - REMOTE_VERSION=$(cat "$VERSION_FILE") + if wget -qO "$REMOTE_VERSION_FILE" "$REPO_URL/version.txt"; then + REMOTE_VERSION=$(cat "$REMOTE_VERSION_FILE" | tr -d '\r') - # Comprobar si el archivo local de versión existe if [ ! -f "$LOCAL_VERSION_FILE" ]; then - echo "$SCRIPT_VERSION" > "$LOCAL_VERSION_FILE" + echo "1.0.0" > "$LOCAL_VERSION_FILE" fi - LOCAL_VERSION=$(cat "$LOCAL_VERSION_FILE") + LOCAL_VERSION=$(cat "$LOCAL_VERSION_FILE" | tr -d '\r') - # Comparar versión local con remota if [ "$REMOTE_VERSION" != "$LOCAL_VERSION" ]; then - whiptail --title "$UPDATE_TITLE" --yesno "$UPDATE_PROMPT" 10 60 && { + whiptail --title "Actualización Disponible" --yesno "Hay una nueva versión. ¿Actualizar ahora?" 10 60 && { wget -qO /usr/local/bin/menu.sh "$REPO_URL/menu.sh" chmod +x /usr/local/bin/menu.sh echo "$REMOTE_VERSION" > "$LOCAL_VERSION_FILE" - whiptail --title "$UPDATE_COMPLETE" --msgbox "$UPDATE_MESSAGE" 10 60 - SKIP_UPDATE_CHECK=true exec env SKIP_UPDATE_CHECK=true /usr/local/bin/menu.sh + exec /usr/local/bin/menu.sh } else msg_ok "El menú está actualizado." @@ -85,7 +79,7 @@ if [ "$SKIP_UPDATE_CHECK" = "false" ]; then fi fi -# Función para verificar dependencias +# Verificar dependencias check_dependencies() { if ! command -v whiptail &> /dev/null; then msg_info "Instalando dependencias necesarias..." @@ -97,10 +91,10 @@ check_dependencies() { # Mostrar menú principal show_menu() { - OPTION=$(whiptail --title "$MENU_TITLE" --menu "$SELECT_OPTION" 15 60 4 \ - "1" "$OPTION_1" \ - "2" "$OPTION_2" \ - "3" "$EXIT" 3>&1 1>&2 2>&3) + OPTION=$(whiptail --title "$MENU_TITLE" --menu "Selecciona una opción:" 15 60 4 \ + "1" "Añadir HW iGPU" \ + "2" "Añadir Coral TPU + HW iGPU" \ + "3" "Salir" 3>&1 1>&2 2>&3) case $OPTION in 1) @@ -113,11 +107,11 @@ show_menu() { wget -qO- "$REPO_URL/scripts/add_hw_acceleration_lxc.sh" | bash ;; 3) - msg_ok "$BYE_MESSAGE" + msg_ok "¡Hasta luego!" exit 0 ;; *) - msg_error "$INVALID_OPTION" + msg_error "Opción no válida." ;; esac }