diff --git a/modules/proxmox-commander b/modules/proxmox-commander index 9779872..774a391 100644 --- a/modules/proxmox-commander +++ b/modules/proxmox-commander @@ -1,6 +1,6 @@ #!/bin/bash # ----------------------------------------------------------------------- -# Dynasty Module: Proxmox Commander (v1.0.0) +# Dynasty Module: Proxmox Commander (v1.1.6 - Force-Attach Shell) # ----------------------------------------------------------------------- BLUE='\033[38;5;45m'; PURPLE='\033[38;5;127m'; GOLD='\033[38;5;178m'; RED='\033[38;5;196m'; NC='\033[0m' HOST_FILE="$HOME/.dynr/.pve_hosts"; mkdir -p "$HOME/.dynr" @@ -42,14 +42,13 @@ if ! command -v pct &> /dev/null; then IP=$(echo "$LINE" | cut -d'|' -f1); USR=$(echo "$LINE" | cut -d'|' -f2); AM=$(echo "$LINE" | cut -d'|' -f3); PE=$(echo "$LINE" | cut -d'|' -f4) if [[ "$AM" == "PASS" ]]; then P_DEC=$(echo "$PE" | base64 --decode) - # We define the base connection here - REMOTE_CMD="sshpass -p '$P_DEC' ssh -o StrictHostKeyChecking=no -t $USR@$IP" + REMOTE_BASE="sshpass -p '$P_DEC' ssh -o StrictHostKeyChecking=no -t $USR@$IP" else - REMOTE_CMD="ssh -o StrictHostKeyChecking=no -t $USR@$IP"; fi + REMOTE_BASE="ssh -o StrictHostKeyChecking=no -t $USR@$IP"; fi else exec "$0"; fi else - REMOTE_CMD=""; IP="LocalHost"; fi + REMOTE_BASE=""; IP="LocalHost"; fi # --- 2. FLEET OPS MENU --- while true; do @@ -58,27 +57,32 @@ while true; do read -p "Select: " OPT < /dev/tty case $OPT in 1) read -p "Count: " CT; [[ "$CT" == "q" ]] && continue - read -p "Start ID: " SID; read -p "Disk GB: " DSZ; $REMOTE_CMD "pvesm status" + read -p "Start ID: " SID; read -p "Disk GB: " DSZ; $REMOTE_BASE "pvesm status" read -p "Template Store: " TS; read -p "Disk Store: " DS for (( i=0; i1 {print \$1}'); do pct exec \$id -- apt update && apt upgrade -y; done" + read -p ": " CG < /dev/tty + case $CG in + 1) + echo -e "${GOLD}Connecting to Host Shell... (Type 'exit' to return)${NC}" + eval "$REMOTE_BASE" + ;; + 2) + read -p "LXC ID: " LID < /dev/tty + echo -e "${BLUE}Entering LXC $LID... (Type 'exit' to return)${NC}" + eval "$REMOTE_BASE \"pct enter $LID\"" + ;; + *) continue ;; + esac + read -p "Returned from Shell. Press Enter..." < /dev/tty ;; + 4) echo -e "1) Host 2) All LXCs"; read -p ": " UO < /dev/tty + [[ "$UO" == "1" ]] && $REMOTE_BASE "apt update && apt upgrade -y" + [[ "$UO" == "2" ]] && $REMOTE_BASE "for id in \$(pct list | awk 'NR>1 {print \$1}'); do pct exec \$id -- apt update && apt upgrade -y; done" read -p "Done..." ;; 5) exec "$0" ;; 6) exit 0 ;;