63 lines
1.9 KiB
Bash

#!/bin/sh
# Config-Pfad von JDownloader (im antlafarge image)
JD_DIR="/opt/JDownloader"
CFG_DIR="$JD_DIR/cfg"
echo "--- Starte JDownloader (Antlafarge Base) ---"
# 1. Ordner vorbereiten
# Wir verlinken den internen Config-Ordner auf /data, damit Einstellungen
# (wie Download-Listen) auch nach einem Addon-Neustart erhalten bleiben.
if [ ! -d "/data/cfg" ]; then
mkdir -p /data/cfg
fi
# Wenn der cfg Ordner im Image existiert, aber kein Link ist, löschen wir ihn
if [ -d "$CFG_DIR" ] && [ ! -L "$CFG_DIR" ]; then
rm -rf "$CFG_DIR"
fi
# Link erstellen: Image-Config -> HA-Data-Storage
if [ ! -L "$CFG_DIR" ]; then
ln -s /data/cfg "$CFG_DIR"
fi
# 2. Zugangsdaten aus Home Assistant lesen
EMAIL=$(jq --raw-output '.myjd_email' /data/options.json)
PASS=$(jq --raw-output '.myjd_password' /data/options.json)
DEVICE=$(jq --raw-output '.device_name' /data/options.json)
echo "Konfiguriere MyJDownloader für: $EMAIL als '$DEVICE'"
# 3. Die JDownloader Settings-Datei manuell schreiben
# Das ist der Trick: Wir erzeugen die Datei, die JDownloader sonst erst nach Eingabe erstellt.
SETTINGS_FILE="$CFG_DIR/org.jdownloader.api.myjdownloader.MyJDownloaderSettings.json"
# Wir schreiben ein minimales JSON File für die Anmeldung
cat <<EOF > "$SETTINGS_FILE"
{
"email" : "$EMAIL",
"password" : "$PASS",
"devicename" : "$DEVICE",
"autoconnectenabledmanual" : true
}
EOF
# 4. Download Pfad auf /share/downloads biegen
mkdir -p /share/downloads
# Falls Downloads-Ordner existiert (und kein Link ist), weg damit
if [ -d "$JD_DIR/Downloads" ] && [ ! -L "$JD_DIR/Downloads" ]; then
rm -rf "$JD_DIR/Downloads"
fi
# Link setzen
ln -s /share/downloads "$JD_DIR/Downloads"
echo "Berechtigungen korrigieren..."
chown -R root:root "$JD_DIR"
# 5. Starten
echo "Starte Java..."
# Wir nutzen direkt java, um volle Kontrolle zu haben
cd $JD_DIR
exec java -Djava.awt.headless=true -jar JDownloader.jar