From e7941b058b9d40f241deba46066e812f8ebfedc5 Mon Sep 17 00:00:00 2001 From: darnix Date: Wed, 29 Oct 2025 18:23:05 +0000 Subject: [PATCH] Subir archivos a "Gestor" --- Gestor/gerar.sh | 139 +++++++++++++++++++++++++++++++++++------------- 1 file changed, 101 insertions(+), 38 deletions(-) diff --git a/Gestor/gerar.sh b/Gestor/gerar.sh index f85204d..660b0cb 100644 --- a/Gestor/gerar.sh +++ b/Gestor/gerar.sh @@ -926,6 +926,53 @@ rm -rf /root/BOTFILE fi } +# --- NUEVA FUNCIÓN PARA ESTABLECER LÍMITE DIARIO --- +set_daily_limit() { + local limit_file="/etc/ADM-db/daily_limit" + local current_limit="No establecido" + # Crear archivo si no existe, con un valor por defecto (ej. 10) + [[ ! -f "$limit_file" ]] && echo "10" > "$limit_file" + current_limit=$(cat "$limit_file") # Leer límite actual + + clear + msg -bar3 + echo -e "⚙️ **Configurar Límite Diario de Keys por Usuario** ⚙️" + msg -bar3 + echo -e " Límite Actual: \033[1;33m${current_limit}\033[0m" + msg -bar3 + echo -e " Introduce el nuevo número máximo de keys que" + echo -e " cada usuario (no admin) puede generar en 24 horas." + echo -e " (El límite para DARNIX y CASITA se configura por separado" + echo -e " dentro del código de gerar_key si necesitas granularidad)." + msg -bar3 + local new_limit="" + # Bucle hasta que se introduzca un número válido + while [[ ! "$new_limit" =~ ^[0-9]+$ ]]; do + read -p " Nuevo Límite Diario (solo números): " new_limit + # Validar que solo sean números + if [[ ! "$new_limit" =~ ^[0-9]+$ ]]; then + echo -e "\033[1;31m Error: Introduce solo números.\033[0m" + sleep 1 + tput cuu1 && tput dl1 # Borra la línea de error + tput cuu1 && tput dl1 # Borra la línea de input + fi + done + + # Guardar el nuevo límite + echo "$new_limit" > "$limit_file" + if [[ $? -eq 0 ]]; then + echo -e "\n ✅ Límite diario actualizado a: \033[1;32m$new_limit\033[0m" + # Opcional: Registrar la acción + # echo "$(date '+%Y-%m-%d %H:%M:%S') | Action: Set daily limit | Value: ${new_limit}" >> /var/log/gerar_sh.log + else + echo -e "\n ❌ Error al guardar el límite en $limit_file." + fi + msg -bar3 + read -p " Presiona Enter para volver al menú..." +} +# --- FIN NUEVA FUNCIÓN --- + + meu_ip @@ -964,46 +1011,62 @@ for file in $matching_files; do done echo msg -bar3 -meu_ip -[[ -z $add_fun ]] || echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m Alterar Limite del BOT ( $limted )" #$PID_GEN1\033[0m -echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m APAGAR/VER KEYS" -#echo -e "\033[0;35m[\033[0;36mx\033[0;35m] \033[0;34m<\033[0;33m ------------------------" #KEYS ( GENERADOR )" -echo -e "\033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m<\033[0;34m Generar Keys ALEATORIAS" -[[ -e /etc/systemd/system/keygen-server.service ]] && echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;33m APAGAR KEYGEN $PID_GEN\033[0m" || echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;33m ACTIVAR KEYGEN $PID_GEN\033[0m" -echo -e "\033[0;35m[\033[0;36m6\033[0;35m] \033[0;34m<\033[0;33m REGISTRO DE KEYS USADAS" -echo -e "\033[0;35m[\033[0;36m7\033[0;35m] \033[0;34m<\033[0;33m Checar KEY ACTIVADA" -echo -e "\033[0;35m[\033[0;36m8\033[0;35m] \033[0;34m<\033[0;33m ACTUALIZAR GENERADOR/CREDITOS " -#echo -e "\033[0;35m[\033[0;36m9\033[0;35m] \033[0;34m<\033[0;33m Actualizar KEY" -echo -e "\033[0;35m[\033[0;36m10\033[0;35m] \033[0;34m<\033[0;33m BOT DE TELEGRAM $PID_BGEN1\033[0m" -#echo -e "\033[0;35m[\033[0;36m11\033[0;35m] \033[0;34m<\033[0;33m KEY FIJA con IP + BotGen" -[[ -z $add_fun ]] || echo -e "\033[0;35m[\033[0;36m12\033[0;35m] \033[0;34m<\033[0;33m + / - CREDITOS Por ID" -echo -e "\033[0;35m[\033[0;36m13\033[0;35m] \033[0;34m<\033[0;33m RECUVA BOT DE TELEGRAM\033[0m" -echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR" -msg -bar3 + [[ -z $add_fun ]] || echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m Alterar Limite del BOT ( $limted )" # Límite TOTAL (diferente al diario) + echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m APAGAR/VER KEYS" + echo -e "\033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m<\033[0;33m Eliminar Keys Usadas (Antiguas)" # Renombrado opción 3 para claridad + echo -e "\033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m<\033[0;34m Generar Keys ALEATORIAS" + [[ -e /etc/systemd/system/keygen-server.service ]] && echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;33m APAGAR KEYGEN $PID_GEN\033[0m" || echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;33m ACTIVAR KEYGEN $PID_GEN\033[0m" + echo -e "\033[0;35m[\033[0;36m6\033[0;35m] \033[0;34m<\033[0;33m REGISTRO DE KEYS USADAS" + echo -e "\033[0;35m[\033[0;36m7\033[0;35m] \033[0;34m<\033[0;33m Checar KEY ACTIVADA" + echo -e "\033[0;35m[\033[0;36m8\033[0;35m] \033[0;34m<\033[0;33m ACTUALIZAR GENERADOR/CREDITOS " + echo -e "\033[0;35m[\033[0;36m9\033[0;35m] \033[0;34m<\033[0;33m Actualizar Keys de Generador (BETA)" # Renombrado opción 9 + echo -e "\033[0;35m[\033[0;36m10\033[0;35m] \033[0;34m<\033[0;33m BOT DE TELEGRAM $PID_BGEN1\033[0m" + echo -e "\033[0;35m[\033[0;36m11\033[0;35m] \033[0;34m<\033[0;33m KEY FIJA con IP + BotGen" + [[ -z $add_fun ]] || echo -e "\033[0;35m[\033[0;36m12\033[0;35m] \033[0;34m<\033[0;33m + / - CREDITOS Por ID" + echo -e "\033[0;35m[\033[0;36m13\033[0;35m] \033[0;34m<\033[0;33m Respaldar/Restaurar BOT\033[0m" # Renombrado opción 13 + # --- NUEVA OPCIÓN --- + echo -e "\033[0;35m[\033[0;36m14\033[0;35m] \033[0;34m<\033[0;33m Establecer Límite Diario Keys (/dia)" + # --- FIN NUEVA OPCIÓN --- + echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR" + msg -bar3 + # --- ACTUALIZAR LÍMITE DEL MENÚ --- + # Asegúrate que lim_menu refleje el número más alto de tus opciones + [[ ! $PID_BGEN1 ]] && lim_menu='11' || lim_menu='14' # Actualizado a 14 + # --- FIN ACTUALIZACIÓN LÍMITE --- } while : do -menau -selection=$(selection_fun $lim_menu) -case ${selection} in -0)cd $HOME && break;; -1)alter_limit;; -2)remover_key;; -3)remover_key_usada;; -4)fix_key;; -5)start_gen;; -6) -echo -ne "\033[1;36m" -echo -e "$(cat /etc/gerar-sh-log)" 2>/dev/null || echo "NINGUN LOG DE MOMENTO" -echo -ne "\033[0m" && read -p "Enter" -;; -7)fum_ver;; -8)act_gen;; -9)att_gen_key;; -10)bot_menu;; -11)ipbot;; -12)alter_id;; -13)migrebot;; -esac + menau + selection=$(selection_fun $lim_menu) # Usará el lim_menu actualizado + case ${selection} in + 0)cd $HOME && break;; + 1)alter_limit;; # Límite TOTAL + 2)remover_key;; + 3)remover_key_usada;; + 4)fix_key;; + 5)start_gen;; + 6) # Ver log /etc/gerar-sh-log + clear + msg -bar3 + echo -e "\033[1;36m--- Registro de Keys Usadas ---" + msg -bar3 + echo -ne "\033[1;36m" + cat /etc/gerar-sh-log 2>/dev/null || echo "NINGUN LOG DE MOMENTO" + echo -ne "\033[0m" + msg -bar3 + read -p " Presiona Enter para volver..." + ;; + 7)fum_ver;; + 8)act_gen;; + 9)att_gen_key;; # Actualizar Keys de Generadores existentes + 10)bot_menu;; + 11)ipbot;; # Autorizar IP Bot Control + 12)alter_id;; # Alterar Créditos/Conteo por ID + 13)migrebot;; # Respaldar/Restaurar Bot + # --- NUEVO CASE --- + 14)set_daily_limit;; # Establecer Límite Diario + # --- FIN NUEVO CASE --- + *) echo "Opción inválida"; sleep 1;; # Manejo por defecto + esac done