From 8a88153cf5d0558eacd6effdd811f958f55a515f Mon Sep 17 00:00:00 2001 From: darnix Date: Mon, 24 Nov 2025 21:51:07 +0000 Subject: [PATCH] Subir archivos a "/" --- php.sh | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) create mode 100644 php.sh diff --git a/php.sh b/php.sh new file mode 100644 index 0000000..5ac1e85 --- /dev/null +++ b/php.sh @@ -0,0 +1,145 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Comprobar que se ejecuta como root +if [ "$(id -u)" -ne 0 ]; then + echo "Ejecuta este script como root (sudo)." + exit 1 +fi + +# Variables +WWW_DIR="/var/www/html/CheckPHP" +PHP_FILE="$WWW_DIR/CheckKey.php" +DATABASE="$WWW_DIR/database.txt" +MESSAGE="$WWW_DIR/message.txt" +USED_LOGS="$WWW_DIR/used_logs.txt" + +echo "==> Actualizando paquetes e instalando apache2, php y libapache2-mod-php..." +apt-get update +apt-get install -y apache2 php libapache2-mod-php + +echo "==> Creando carpeta $WWW_DIR y archivos necesarios..." +mkdir -p "$WWW_DIR" +touch "$DATABASE" "$MESSAGE" "$USED_LOGS" + +echo "==> Escribiendo el archivo PHP (no se modifica el código que proporcionaste)..." +cat > "$PHP_FILE" <<'PHP' +NOTIFICACIÓN DE USO 🔔\n\n"; + $mensaje .= "✅ Tu Key ha sido activada.\n"; + $mensaje .= "👤 Nombre: $nombre\n"; + $mensaje .= "🔑 Key: $key\n"; + $mensaje .= "🌐 IP Cliente: $ip\n"; + $mensaje .= "📅 Fecha: " . date("Y-m-d H:i:s"); + + $url = "https://api.telegram.org/bot$token/sendMessage"; + $data = [ + 'chat_id' => $chat_id, + 'text' => $mensaje, + 'parse_mode' => 'HTML' + ]; + + $options = [ + 'http' => [ + 'header' => "Content-type: application/x-www-form-urlencoded\r\n", + 'method' => 'POST', + 'content' => http_build_query($data), + ], + ]; + $context = stream_context_create($options); + file_get_contents($url, false, $context); +} + +foreach ($lineas as $linea) { + // Formato: KEY | NOMBRE_TELEGRAM | FECHA | ID_TELEGRAM + $datos = explode('|', trim($linea)); + + if (count($datos) < 3) continue; + + $key_db = $datos[0]; + $usuario_db = $datos[1]; // Aquí viene el Nombre de Telegram + $fecha_exp = $datos[2]; + $telegram_id = isset($datos[3]) ? $datos[3] : ""; + + if ($key_db == $key_recibida) { + $fecha_actual = date("Y-m-d"); + + if ($fecha_actual <= $fecha_exp) { + $status = "clave_valida"; + + // 1. Guardar Log de historial + $registro = "$fecha_hora | IP: $ip_cliente | Nombre: $usuario_db | Key: $key_db\n"; + file_put_contents($history_log, $registro, FILE_APPEND); + + // 2. GUARDAR EL NOMBRE EN message.txt + // Esto sobrescribe el archivo con el nombre del usuario actual + file_put_contents($message_file, $usuario_db); + + // 3. Enviar notificación a Telegram + if (!empty($telegram_id)) { + enviar_notificacion($bot_token, $telegram_id, $key_db, $ip_cliente, $usuario_db); + } + + // La línea NO se añade a $nuevas_lineas, por lo tanto se borra de la DB + } else { + $status = "clave_expirada"; + } + } else { + $nuevas_lineas[] = $linea; + } +} + +// Reescribir archivo (borrando la usada) +if ($status == "clave_valida") { + $contenido_final = implode("\n", $nuevas_lineas); + if (!empty($contenido_final)) { + $contenido_final .= "\n"; + } + file_put_contents($database, $contenido_final); +} + +echo $status; +?> +PHP + +echo "==> Aplicando permisos y cambiando propietario..." +chmod -R 777 "$WWW_DIR" +chown -R www-data:www-data "$WWW_DIR" + +echo "==> Reiniciando Apache..." +if command -v systemctl >/dev/null 2>&1; then + systemctl restart apache2 +else + service apache2 restart +fi + +echo "==> Instalación completada." +echo "Archivos creados en: $WWW_DIR" +echo "Asegúrate de que tu token y datos en CheckKey.php son correctos." \ No newline at end of file