diff --git a/post_install.sh b/post_install.sh new file mode 100644 index 0000000..72c1d07 --- /dev/null +++ b/post_install.sh @@ -0,0 +1,79 @@ +#!/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