mirror of
https://github.com/MacRimi/ProxMenux.git
synced 2025-08-14 08:52:22 +00:00
Update menu.sh
This commit is contained in:
parent
c6cbb323ac
commit
b3698984ae
31
menu.sh
31
menu.sh
@ -5,7 +5,7 @@ REPO_URL="https://raw.githubusercontent.com/MacRimi/ProxMenux/main"
|
|||||||
BASE_DIR="/usr/local/share/proxmenux"
|
BASE_DIR="/usr/local/share/proxmenux"
|
||||||
LANG_DIR="$BASE_DIR/lang"
|
LANG_DIR="$BASE_DIR/lang"
|
||||||
LOCAL_VERSION_FILE="$BASE_DIR/version.txt"
|
LOCAL_VERSION_FILE="$BASE_DIR/version.txt"
|
||||||
REMOTE_VERSION_FILE="$BASE_DIR/latest_version.txt"
|
REMOTE_VERSION_FILE="$BASE_DIR/remote_version.txt"
|
||||||
LANGUAGE_FILE="/root/.proxmenux_language"
|
LANGUAGE_FILE="/root/.proxmenux_language"
|
||||||
|
|
||||||
# Colores para salida
|
# Colores para salida
|
||||||
@ -96,20 +96,19 @@ select_language() {
|
|||||||
exec "$0"
|
exec "$0"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Verificar actualizaciones
|
|
||||||
check_updates() {
|
check_updates() {
|
||||||
if wget -qO "$REMOTE_VERSION_FILE" "$REPO_URL/version.txt"; then
|
msg_info "$UPDATE_CHECKING"
|
||||||
REMOTE_VERSION=$(cat "$REMOTE_VERSION_FILE" | tr -d '\r')
|
if wget -qO "$REMOTE_VERSION_FILE" "$REPO_URL/version.txt?$(date +%s)"; then
|
||||||
|
REMOTE_VERSION=$(cat "$REMOTE_VERSION_FILE" | tr -d '\r' | tr -d '\n')
|
||||||
|
|
||||||
if [ ! -f "$LOCAL_VERSION_FILE" ]; then
|
if [ ! -f "$LOCAL_VERSION_FILE" ]; then
|
||||||
echo "$REMOTE_VERSION" > "$LOCAL_VERSION_FILE"
|
echo "$REMOTE_VERSION" > "$LOCAL_VERSION_FILE"
|
||||||
msg_info "$FIRST_INSTALL $REMOTE_VERSION"
|
msg_info "$FIRST_INSTALL $REMOTE_VERSION"
|
||||||
else
|
else
|
||||||
LOCAL_VERSION=$(cat "$LOCAL_VERSION_FILE" | tr -d '\r')
|
LOCAL_VERSION=$(cat "$LOCAL_VERSION_FILE" | tr -d '\r' | tr -d '\n')
|
||||||
|
|
||||||
if [ "$LOCAL_VERSION" != "$REMOTE_VERSION" ]; then
|
if [ "$LOCAL_VERSION" != "$REMOTE_VERSION" ]; then
|
||||||
msg_info "$UPDATE_CHECKING"
|
if version_gt "$REMOTE_VERSION" "$LOCAL_VERSION"; then
|
||||||
if [ "$(printf '%s\n' "$LOCAL_VERSION" "$REMOTE_VERSION" | sort -V | tail -n1)" = "$REMOTE_VERSION" ]; then
|
|
||||||
if whiptail --title "$UPDATE_TITLE" --yesno "$UPDATE_PROMPT" 10 60; then
|
if whiptail --title "$UPDATE_TITLE" --yesno "$UPDATE_PROMPT" 10 60; then
|
||||||
perform_update
|
perform_update
|
||||||
else
|
else
|
||||||
@ -129,16 +128,32 @@ check_updates() {
|
|||||||
|
|
||||||
# Función para realizar la actualización
|
# Función para realizar la actualización
|
||||||
perform_update() {
|
perform_update() {
|
||||||
if wget -qO /usr/local/bin/menu.sh "$REPO_URL/menu.sh"; then
|
# Limpiar la caché antes de la actualización
|
||||||
|
sync
|
||||||
|
echo 3 > /proc/sys/vm/drop_caches 2>/dev/null || true
|
||||||
|
|
||||||
|
# Descargar y actualizar el script evitando la caché
|
||||||
|
if wget -qO /usr/local/bin/menu.sh "$REPO_URL/menu.sh?$(date +%s)"; then
|
||||||
chmod +x /usr/local/bin/menu.sh
|
chmod +x /usr/local/bin/menu.sh
|
||||||
echo "$REMOTE_VERSION" > "$LOCAL_VERSION_FILE"
|
echo "$REMOTE_VERSION" > "$LOCAL_VERSION_FILE"
|
||||||
msg_ok "$UPDATE_MESSAGE"
|
msg_ok "$UPDATE_MESSAGE"
|
||||||
|
|
||||||
|
# Limpiar la caché nuevamente antes de ejecutar el nuevo script
|
||||||
|
sync
|
||||||
|
echo 3 > /proc/sys/vm/drop_caches 2>/dev/null || true
|
||||||
|
|
||||||
|
# Ejecutar el nuevo script
|
||||||
exec /usr/local/bin/menu.sh
|
exec /usr/local/bin/menu.sh
|
||||||
else
|
else
|
||||||
msg_error "$UPDATE_ERROR"
|
msg_error "$UPDATE_ERROR"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Función para comparar versiones
|
||||||
|
version_gt() {
|
||||||
|
test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"
|
||||||
|
}
|
||||||
|
|
||||||
# Función para desinstalar ProxMenu
|
# Función para desinstalar ProxMenu
|
||||||
uninstall_proxmenu() {
|
uninstall_proxmenu() {
|
||||||
if whiptail --title "$UNINSTALL_TITLE" --yesno "$UNINSTALL_CONFIRM" 10 60; then
|
if whiptail --title "$UNINSTALL_TITLE" --yesno "$UNINSTALL_CONFIRM" 10 60; then
|
||||||
|
Loading…
x
Reference in New Issue
Block a user