From 0f2b0482ec86b1fab7c8c13c0e9a2fb10931ae36 Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Thu, 31 Jul 2025 14:27:12 +0200 Subject: [PATCH] Create jd2.sh --- scripts/lcx/jd2.sh | 110 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 scripts/lcx/jd2.sh diff --git a/scripts/lcx/jd2.sh b/scripts/lcx/jd2.sh new file mode 100644 index 0000000..c162dd2 --- /dev/null +++ b/scripts/lcx/jd2.sh @@ -0,0 +1,110 @@ +#!/bin/bash + +# Script para instalar JDownloader en un contenedor LXC desde el host Proxmox +# Autor: MacRimi + +# Mostrar lista de CTs +CT_LIST=$(pct list | awk 'NR>1 {print $1, $3}') +if [ -z "$CT_LIST" ]; then + whiptail --title "Error" --msgbox "No hay contenedores LXC disponibles en el sistema." 8 50 + exit 1 +fi + +# Seleccionar CT +CTID=$(whiptail --title "Instalación de JDownloader" --menu "Selecciona el contenedor donde instalar JDownloader:" 20 60 10 $CT_LIST 3>&1 1>&2 2>&3) +if [ -z "$CTID" ]; then + whiptail --title "Cancelado" --msgbox "No se ha seleccionado ningún contenedor." 8 40 + exit 1 +fi + +# Solicitar email +EMAIL=$(whiptail --title "Cuenta My JDownloader" --inputbox "Introduce tu correo electrónico para vincular JDownloader:" 10 60 3>&1 1>&2 2>&3) +if [ -z "$EMAIL" ]; then + whiptail --title "Error" --msgbox "No se ha introducido ningún correo." 8 40 + exit 1 +fi + +# Solicitar contraseña con confirmación +while true; do + PASSWORD=$(whiptail --title "Cuenta My JDownloader" --passwordbox "Introduce tu contraseña de My JDownloader:" 10 60 3>&1 1>&2 2>&3) + [ -z "$PASSWORD" ] && whiptail --title "Error" --msgbox "No se ha introducido ninguna contraseña." 8 40 && exit 1 + + CONFIRM=$(whiptail --title "Confirmación de contraseña" --passwordbox "Repite tu contraseña para confirmar:" 10 60 3>&1 1>&2 2>&3) + [ "$PASSWORD" = "$CONFIRM" ] && break + whiptail --title "Error" --msgbox "Las contraseñas no coinciden. Intenta de nuevo." 8 50 +done + +# Confirmación final +whiptail --title "Confirmar datos" --yesno "¿Deseas continuar con los siguientes datos?\n\nCorreo: $EMAIL\nContraseña: (oculta)\n\nEsta información se usará para vincular el contenedor con tu cuenta de My.JDownloader." 14 60 +[ $? -ne 0 ] && whiptail --title "Cancelado" --msgbox "Instalación cancelada por el usuario." 8 40 && exit 1 + +clear +echo "🔍 Detectando sistema operativo dentro del CT $CTID..." +OS_ID=$(pct exec "$CTID" -- awk -F= '/^ID=/{gsub("\"",""); print $2}' /etc/os-release) + +echo "Sistema detectado: $OS_ID" +echo "🧰 Preparando entorno..." + +case "$OS_ID" in + debian) + # Repositorio adicional para Java 8 + pct exec "$CTID" -- wget -q http://www.mirbsd.org/~tg/Debs/sources.txt/wtf-bookworm.sources + pct exec "$CTID" -- mv wtf-bookworm.sources /etc/apt/sources.list.d/ + pct exec "$CTID" -- apt update -y + pct exec "$CTID" -- apt install -y openjdk-8-jdk wget + JAVA_PATH="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java" + ;; + ubuntu) + pct exec "$CTID" -- apt update -y + pct exec "$CTID" -- apt install -y openjdk-8-jdk wget + JAVA_PATH="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java" + ;; + alpine) + pct exec "$CTID" -- apk update + pct exec "$CTID" -- apk add openjdk8 wget + JAVA_PATH="/usr/lib/jvm/java-1.8-openjdk/bin/java" + ;; + *) + echo "❌ Sistema operativo no soportado: $OS_ID" + exit 1 + ;; +esac + +# Descargar JDownloader +pct exec "$CTID" -- mkdir -p /root/jdownloader/cfg +pct exec "$CTID" -- bash -c "cd /root/jdownloader && wget -q http://installer.jdownloader.org/JDownloader.jar" + +# Crear archivo de configuración MyJDownloader +pct exec "$CTID" -- bash -c "cat > /root/jdownloader/cfg/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json" < /etc/systemd/system/jdownloader.service <