#!/bin/bash # ========================================== # Post-Install Toolbox (Internet-Version) # ========================================== # Lädt Skripte direkt aus dem Netz und führt sie aus # ========================================== # Prüfen, ob Root if [ "$EUID" -ne 0 ]; then echo "Bitte als Root ausführen (sudo)" exit 1 fi # Menü mit Skripten (Name + URL) # Hier kannst du beliebig viele eintragen declare -A SCRIPTS SCRIPTS["Host & SSD Seriennummern"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/get_sn.sh" SCRIPTS["Set PVE-Mail"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/setup-email-pve.sh" SCRIPTS["Set PBS-Mail"]="https://gitea.vmd55888.de/manuel.maier/pve-pbs-setup/raw/branch/main/setup-email-pbs.sh" # Externe Skripte SCRIPTS["Externe Analyse"]="https://example.com/remote_script.sh" # Menü starten while true; do echo "====================================" echo " POST-INSTALL INTERNET TOOLBOX" echo "====================================" echo "Wähle ein Script zum Ausführen:" # Skripte nummerieren i=1 declare -A INDEX_MAP for key in "${!SCRIPTS[@]}"; do echo "$i) $key" INDEX_MAP[$i]="$key" ((i++)) done echo "0) Beenden" echo -n "Auswahl: " read -r choice # Beenden if [ "$choice" == "0" ]; then echo "Bye! 👋" exit 0 fi # Prüfen ob gültig if [[ "$choice" =~ ^[0-9]+$ ]] && [ "$choice" -ge 1 ] && [ "$choice" -lt "$i" ]; then key="${INDEX_MAP[$choice]}" url="${SCRIPTS[$key]}" echo "------------------------------------" echo "Lade Script: $key" echo "Von: $url" echo "------------------------------------" # Temporäre Datei tmpfile=$(mktemp) curl -sSL "$url" -o "$tmpfile" # Prüfen ob heruntergeladen if [ ! -s "$tmpfile" ]; then echo "Fehler beim Download!" rm -f "$tmpfile" read -r -p "Enter drücken für Menü..." continue fi # Ausführen bash "$tmpfile" rm -f "$tmpfile" echo "------------------------------------" echo "Fertig! Drücke Enter für Menü..." read -r else echo "Ungültige Auswahl! Bitte erneut versuchen." fi done