2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								config_file( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  CONFIG_FILE = "/opt/community-scripts/.settings" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -f " /opt/community-scripts/ ${ NSAPP } .conf "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    CONFIG_FILE = " /opt/community-scripts/ ${ NSAPP } .conf " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  CONFIG_FILE = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set absolute path to config file"  8  58  " $CONFIG_FILE "  --title "CONFIG FILE"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  ! -f " $CONFIG_FILE "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ CROSS } ${ RD } Config file not found, exiting script!. ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ INFO } ${ BOLD } ${ DGN } Using config File:  ${ BGN } $CONFIG_FILE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      source  " $CONFIG_FILE " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ CT_ID - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $CT_ID "  = ~ ^( [ 0-9] { 3,4} ) -( [ 0-9] { 3,4} ) $ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      MIN_ID = ${ BASH_REMATCH [1] } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      MAX_ID = ${ BASH_REMATCH [2] } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  ( ( MIN_ID >=  MAX_ID) ) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        msg_error " Invalid Container ID range. The first number must be smaller than the second number, was  ${ CT_ID } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      LIST_OF_IDS = $( pvesh get /cluster/resources --type vm --output-format json 2>/dev/null |  grep -oP '"vmid":\s*\K\d+' )  ||  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  -n " $LIST_OF_IDS "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        for  ( ( ID  =  MIN_ID;  ID <=  MAX_ID;  ID++) ) ;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  ! grep -q " ^ $ID $"  <<< " $LIST_OF_IDS " ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            CT_ID = $ID 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ CONTAINERID } ${ BOLD } ${ DGN } Container ID:  ${ BGN } $CT_ID ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $CT_ID "  = ~ ^[ 0-9] +$ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      LIST_OF_IDS = $( pvesh get /cluster/resources --type vm --output-format json 2>/dev/null |  grep -oP '"vmid":\s*\K\d+' )  ||  true 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  -n " $LIST_OF_IDS "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ! grep -q " ^ $CT_ID $"  <<< " $LIST_OF_IDS " ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " ${ CONTAINERID } ${ BOLD } ${ DGN } Container ID:  ${ BGN } $CT_ID ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          msg_error " Container ID  $CT_ID  already exists " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ CONTAINERID } ${ BOLD } ${ DGN } Container ID:  ${ BGN } $CT_ID ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " Invalid Container ID format. Needs to be 0000-9999 or 0-9999, was  ${ CT_ID } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  CT_ID = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set Container ID"  8  58  " $NEXTID "  --title "CONTAINER ID"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  [  -z " $CT_ID "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        CT_ID = " $NEXTID " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ CONTAINERID } ${ BOLD } ${ DGN } Container ID:  ${ BGN } $CT_ID ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ CONTAINERID } ${ BOLD } ${ DGN } Container ID:  ${ BGN } $CT_ID ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ CT_TYPE - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $CT_TYPE "  -eq 0  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      CT_TYPE_DESC = "Privileged" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $CT_TYPE "  -eq 1  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      CT_TYPE_DESC = "Unprivileged" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " Unknown setting for CT_TYPE, should be 1 or 0, was  ${ CT_TYPE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ CONTAINERTYPE } ${ BOLD } ${ DGN } Container Type:  ${ BGN } $CT_TYPE_DESC ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  CT_TYPE = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --title "CONTAINER TYPE"  --radiolist "Choose Type"  10  58  2  \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      "1"  "Unprivileged"  ON \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      "0"  "Privileged"  OFF \
 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -n " $CT_TYPE "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        CT_TYPE_DESC = "Unprivileged" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [  " $CT_TYPE "  -eq 0  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          CT_TYPE_DESC = "Privileged" 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  -e " ${ CONTAINERTYPE } ${ BOLD } ${ DGN } Container Type:  ${ BGN } $CT_TYPE_DESC ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ PW - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $PW "  = =  "none"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      PW = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  " $PW "  = =  *" " * ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        msg_error "Password cannot be empty" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      elif  [ [  ${# PW }  -lt 5  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        msg_error "Password must be at least 5 characters long" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ VERIFYPW } ${ BOLD } ${ DGN } Root Password:  ${ BGN } ******** ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      PW = " -password  $PW " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    while  true;  do 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  PW1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --passwordbox "\nSet Root Password (needed for root ssh access)"  9  58  --title "PASSWORD (leave blank for automatic login)"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [ [  -n " $PW1 "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  [ [  " $PW1 "  = =  *" " * ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --msgbox "Password cannot contain spaces. Please try again."  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          elif  [  ${# PW1 }  -lt 5  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --msgbox "Password must be at least 5 characters long. Please try again."  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            if  PW2 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --passwordbox "\nVerify Root Password"  9  58  --title "PASSWORD VERIFICATION"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              if  [ [  " $PW1 "  = =  " $PW2 "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                PW = " -password  $PW1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                echo  -e " ${ VERIFYPW } ${ BOLD } ${ DGN } Root Password:  ${ BGN } ******** ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								                whiptail --msgbox "Passwords do not match. Please try again."  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								              fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								              exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								            fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          PW1 = "Automatic Login" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          PW = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " ${ VERIFYPW } ${ BOLD } ${ DGN } Root Password:  ${ BGN } $PW1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          break 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    done 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ HN - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ HOSTNAME } ${ BOLD } ${ DGN } Hostname:  ${ BGN } $HN ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  CT_NAME = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set Hostname"  8  58  " $NSAPP "  --title "HOSTNAME"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  [  -z " $CT_NAME "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        HN = " $NSAPP " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        HN = $( echo  " ${ CT_NAME ,, } "  |  tr -d ' ' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ HOSTNAME } ${ BOLD } ${ DGN } Hostname:  ${ BGN } $HN ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ DISK_SIZE - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $DISK_SIZE "  = ~ ^-?[ 0-9] +$ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ DISKSIZE } ${ BOLD } ${ DGN } Disk Size:  ${ BGN } ${ DISK_SIZE }  GB ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " DISK_SIZE must be an integer, was  ${ DISK_SIZE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  DISK_SIZE = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set Disk Size in GB"  8  58  " $var_disk "  --title "DISK SIZE"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  [  -z " $DISK_SIZE "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        DISK_SIZE = " $var_disk " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ DISKSIZE } ${ BOLD } ${ DGN } Disk Size:  ${ BGN } ${ DISK_SIZE }  GB ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  ! [ [  $DISK_SIZE  = ~ $INTEGER  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " {INFO} ${ HOLD } ${ RD }  DISK SIZE MUST BE AN INTEGER NUMBER! ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          advanced_settings
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ DISKSIZE } ${ BOLD } ${ DGN } Disk Size:  ${ BGN } ${ DISK_SIZE }  GB ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ CORE_COUNT - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $CORE_COUNT "  = ~ ^-?[ 0-9] +$ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ CPUCORE } ${ BOLD } ${ DGN } CPU Cores:  ${ BGN } ${ CORE_COUNT } ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " CORE_COUNT must be an integer, was  ${ CORE_COUNT } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  CORE_COUNT = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Allocate CPU Cores"  8  58  " $var_cpu "  --title "CORE COUNT"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  [  -z " $CORE_COUNT "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        CORE_COUNT = " $var_cpu " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ CPUCORE } ${ BOLD } ${ DGN } CPU Cores:  ${ BGN } $CORE_COUNT ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ CPUCORE } ${ BOLD } ${ DGN } CPU Cores:  ${ BGN } $CORE_COUNT ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ RAM_SIZE - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $RAM_SIZE "  = ~ ^-?[ 0-9] +$ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ RAMSIZE } ${ BOLD } ${ DGN } RAM Size:  ${ BGN } ${ RAM_SIZE }  MiB ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " RAM_SIZE must be an integer, was  ${ RAM_SIZE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  RAM_SIZE = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Allocate RAM in MiB"  8  58  " $var_ram "  --title "RAM"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  [  -z " $RAM_SIZE "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        RAM_SIZE = " $var_ram " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ RAMSIZE } ${ BOLD } ${ DGN } RAM Size:  ${ BGN } ${ RAM_SIZE }  MiB ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ RAMSIZE } ${ BOLD } ${ DGN } RAM Size:  ${ BGN } ${ RAM_SIZE }  MiB ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  IFACE_FILEPATH_LIST = "/etc/network/interfaces" $'\n' $( find "/etc/network/interfaces.d/"  -type f) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  BRIDGES = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  OLD_IFS = $IFS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  IFS = $'\n' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  for  iface_filepath in ${ IFACE_FILEPATH_LIST } ;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    iface_indexes_tmpfile = $( mktemp -q -u '.iface-XXXX' ) 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    ( grep -Pn '^\s*iface'  " ${ iface_filepath } "  |  cut -d':'  -f1 &&  wc -l " ${ iface_filepath } "  |  cut -d' '  -f1)  |  awk 'FNR==1 {line=$0; next} {print line":"$0-1; line=$0}'  >" ${ iface_indexes_tmpfile } "  ||  true 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  -f " ${ iface_indexes_tmpfile } "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      while  read  -r pair;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        start = $( echo  " ${ pair } "  |  cut -d':'  -f1) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        end = $( echo  " ${ pair } "  |  cut -d':'  -f2) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  awk " NR >=  ${ start }  && NR <=  ${ end } "  " ${ iface_filepath } "  |  grep -qP '^\s*(bridge[-_](ports|stp|fd|vlan-aware|vids)|ovs_type\s+OVSBridge)\b' ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          iface_name = $( sed " ${ start } q;d "  " ${ iface_filepath } "  |  awk '{print $2}' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          BRIDGES = " ${ iface_name } " $'\n' " ${ BRIDGES } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      done  <" ${ iface_indexes_tmpfile } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      rm -f " ${ iface_indexes_tmpfile } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  IFS = $OLD_IFS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  BRIDGES = $( echo  " $BRIDGES "  |  grep -v '^\s*$'  |  sort |  uniq) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ BRG - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  echo  " $BRIDGES "  |  grep -q " ${ BRG } " ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ BRIDGE } ${ BOLD } ${ DGN } Bridge:  ${ BGN } $BRG ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " Bridge ' ${ BRG } ' does not exist in /etc/network/interfaces or /etc/network/interfaces.d/sdn " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    BRG = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --menu "Select network bridge:"  15  40  6  $( echo  " $BRIDGES "  |  awk '{print $0, "Bridge"}' )  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  -z " $BRG "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ BRIDGE } ${ BOLD } ${ DGN } Bridge:  ${ BGN } $BRG ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ip_cidr_regex = '^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/([0-9]{1,2})$' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  local  ip_regex = '^([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$' 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n ${ NET - }  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [  " $NET "  = =  "dhcp"  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IP Address:  ${ BGN } DHCP ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } Default ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-17 23:23:14 +04:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      GATE = "" 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $NET "  = ~ $ip_cidr_regex  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IP Address:  ${ BGN } $NET ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-28 13:11:52 +00:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  [ [  -n " $GATE "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        [ [  " $GATE "  = ~ ",gw="  ] ]  &&  GATE = " ${ GATE ##,gw= } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        if  [ [  " $GATE "  = ~ $ip_regex  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } $GATE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          GATE = " ,gw= $GATE " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          msg_error " Invalid IP Address format for Gateway. Needs to be 0.0.0.0, was  ${ GATE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          exit 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        while  true;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          GATE1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Enter gateway IP address"  8  58  --title "Gateway IP"  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  [  -z " $GATE1 "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox "Gateway IP address cannot be empty"  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          elif  [ [  ! " $GATE1 "  = ~ ^( [ 0-9] { 1,3} \. ) { 3} [ 0-9] { 1,3} $ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox "Invalid IP address format"  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            GATE = " ,gw= $GATE1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } $GATE1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $NET "  = =  *-* ] ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      IFS = "-"  read  -r ip_start ip_end <<< " $NET " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  ! " $ip_start "  = ~ $ip_cidr_regex  ] ]  ||  [ [  ! " $ip_end "  = ~ $ip_cidr_regex  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        msg_error " Invalid IP range format, was  $NET  should be 0.0.0.0/0-0.0.0.0/0 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ip1 = " ${ ip_start %%/* } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ip2 = " ${ ip_end %%/* } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      cidr = " ${ ip_start ##*/ } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ip_to_int( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  IFS = .
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        read  -r i1 i2 i3 i4 <<< " $1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  $(( ( i1 << 24) + (i2  << 16 )  +  ( i3 << 8 )  +  i4)) 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      int_to_ip( )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        local  ip = $1 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        echo  " $(( ( ip >> 24 )  &  0 xFF)) . $(( ( ip >> 16 )  &  0 xFF)) . $(( ( ip >> 8 )  &  0 xFF)) . $(( ip &  0 xFF)) " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      start_int = $( ip_to_int " $ip1 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      end_int = $( ip_to_int " $ip2 " ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      for  ( ( ip_int  =  start_int;  ip_int <=  end_int;  ip_int++) ) ;  do 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        ip = $( int_to_ip $ip_int ) 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        msg_info " Checking IP:  $ip " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        if  ! ping -c 2  -W 1  " $ip "  >/dev/null 2>& 1;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          NET = " $ip / $cidr " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          msg_ok " Using free IP Address:  ${ BGN } $NET ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          sleep 3 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      done 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  " $NET "  = =  *-* ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        msg_error "No free IP found in range" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit  1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -n " $GATE "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [ [  " $GATE "  = ~ $ip_regex  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } $GATE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          GATE = " ,gw= $GATE " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          msg_error " Invalid IP Address format for Gateway. Needs to be 0.0.0.0, was  ${ GATE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        while  true;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          GATE1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Enter gateway IP address"  8  58  --title "Gateway IP"  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          if  [  -z " $GATE1 "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox "Gateway IP address cannot be empty"  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          elif  [ [  ! " $GATE1 "  = ~ ^( [ 0-9] { 1,3} \. ) { 3} [ 0-9] { 1,3} $ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox "Invalid IP address format"  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            GATE = " ,gw= $GATE1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } $GATE1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        done 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      msg_error " Invalid IP Address format. Needs to be 0.0.0.0/0 or a range like 10.0.0.1/24-10.0.0.10/24, was  ${ NET } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    while  true;  do 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      NET = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set a Static IPv4 CIDR Address (/24)"  8  58  dhcp --title "IP ADDRESS"  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_status = $? 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  $exit_status  -eq 0  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [  " $NET "  =  "dhcp"  ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IP Address:  ${ BGN } $NET ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								          if  [ [  " $NET "  = ~ ^( [ 0-9] { 1,3} \. ) { 3} [ 0-9] { 1,3} /( [ 0-9] | [ 1-2] [ 0-9] | 3[ 0-2] ) $ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IP Address:  ${ BGN } $NET ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								            whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox " $NET  is an invalid IPv4 CIDR address. Please enter a valid IPv4 CIDR address or 'dhcp' "  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    done 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  [  " $NET "  !=  "dhcp"  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      while  true;  do 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        GATE1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Enter gateway IP address"  8  58  --title "Gateway IP"  3>& 1  1>& 2  2>& 3) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        if  [  -z " $GATE1 "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox "Gateway IP address cannot be empty"  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        elif  [ [  ! " $GATE1 "  = ~ ^( [ 0-9] { 1,3} \. ) { 3} [ 0-9] { 1,3} $ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          whiptail --backtitle "Proxmox VE Helper Scripts"  --msgbox "Invalid IP address format"  8  58 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          GATE = " ,gw= $GATE1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } $GATE1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								          break 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      done 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      GATE = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ GATEWAY } ${ BOLD } ${ DGN } Gateway IP Address:  ${ BGN } Default ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [  " $var_os "  = =  "alpine"  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    APT_CACHER = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    APT_CACHER_IP = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  -n " ${ APT_CACHER_IP - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  ! $APT_CACHER_IP  = =  "none"  ] ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        APT_CACHER = "yes" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } APT-CACHER IP Address:  ${ BGN } $APT_CACHER_IP ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        APT_CACHER = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } APT-Cacher IP Address:  ${ BGN } No ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  APT_CACHER_IP = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set APT-Cacher IP (leave blank for none)"  8  58  --title "APT-Cacher IP"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        APT_CACHER = " ${ APT_CACHER_IP : +yes } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } APT-Cacher IP Address:  ${ BGN } ${ APT_CACHER_IP :- Default } ${ CL } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        if  [ [  -n $APT_CACHER_IP  ] ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								          APT_CACHER_IP = "none" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        exit_script
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ MTU - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $MTU "  = ~ ^-?[ 0-9] +$ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ DEFAULT } ${ BOLD } ${ DGN } Interface MTU Size:  ${ BGN } $MTU ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      MTU = " ,mtu= $MTU " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " MTU must be an integer, was  ${ MTU } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  MTU1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set Interface MTU Size (leave blank for default [The MTU of your selected vmbr, default is 1500])"  8  58  --title "MTU SIZE"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -z " $MTU1 "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MTU1 = "Default" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MTU = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MTU = " ,mtu= $MTU1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ DEFAULT } ${ BOLD } ${ DGN } Interface MTU Size:  ${ BGN } $MTU1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-14 21:50:56 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  [ [  " $IPV6_METHOD "  = =  "static"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  -n " $IPV6STATIC "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      IP6 = " ,ip6= ${ IPV6STATIC } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IPv6 Address:  ${ BGN } ${ IPV6STATIC } ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error "IPV6_METHOD is set to static but IPV6STATIC is empty" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  elif  [ [  " $IPV6_METHOD "  = =  "auto"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    IP6 = ",ip6=auto" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IPv6 Address:  ${ BGN } auto ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    IP6 = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } IPv6 Address:  ${ BGN } none ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ SD - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $SD "  = =  "none"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      SD = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ SEARCH } ${ BOLD } ${ DGN } DNS Search Domain:  ${ BGN } Host ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      # Strip prefix if present for config file storage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  SD_VALUE = " $SD " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      [ [  " $SD "  = ~ ^-searchdomain=  ] ]  &&  SD_VALUE = " ${ SD #-searchdomain= } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ SEARCH } ${ BOLD } ${ DGN } DNS Search Domain:  ${ BGN } $SD_VALUE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      SD = " -searchdomain= $SD_VALUE " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  SD = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set a DNS Search Domain (leave blank for HOST)"  8  58  --title "DNS Search Domain"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -z " $SD "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SX = Host
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SD = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SX = $SD 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SD = " -searchdomain= $SD " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ SEARCH } ${ BOLD } ${ DGN } DNS Search Domain:  ${ BGN } $SX ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ NS - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  $NS  = =  "none"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      NS = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } DNS Server IP Address:  ${ BGN } Host ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      # Strip prefix if present for config file storage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  NS_VALUE = " $NS " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      [ [  " $NS "  = ~ ^-nameserver=  ] ]  &&  NS_VALUE = " ${ NS #-nameserver= } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  " $NS_VALUE "  = ~ $ip_regex  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } DNS Server IP Address:  ${ BGN } $NS_VALUE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NS = " -nameserver= $NS_VALUE " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        msg_error " Invalid IP Address format for DNS Server. Needs to be 0.0.0.0, was  ${ NS_VALUE } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  NX = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set a DNS Server IP (leave blank for HOST)"  8  58  --title "DNS SERVER IP"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -z " $NX "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NX = Host
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NS = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        NS = " -nameserver= $NX " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } DNS Server IP Address:  ${ BGN } $NX ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ MAC - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $MAC "  = =  "none"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      MAC = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ MACADDRESS } ${ BOLD } ${ DGN } MAC Address:  ${ BGN } Host ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      # Strip prefix if present for config file storage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  MAC_VALUE = " $MAC " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      [ [  " $MAC "  = ~ ^,hwaddr=  ] ]  &&  MAC_VALUE = " ${ MAC #,hwaddr= } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  " $MAC_VALUE "  = ~ ^( [ A-Fa-f0-9] { 2} :) { 5} [ A-Fa-f0-9] { 2} $ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ MACADDRESS } ${ BOLD } ${ DGN } MAC Address:  ${ BGN } $MAC_VALUE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MAC = " ,hwaddr= $MAC_VALUE " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        msg_error " MAC Address must be in the format xx:xx:xx:xx:xx:xx, was  ${ MAC_VALUE } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  MAC1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set a MAC Address(leave blank for generated MAC)"  8  58  --title "MAC ADDRESS"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -z " $MAC1 "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MAC1 = "Default" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MAC = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        MAC = " ,hwaddr= $MAC1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ MACADDRESS } ${ BOLD } ${ DGN } MAC Address:  ${ BGN } $MAC1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ VLAN - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $VLAN "  = =  "none"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      VLAN = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ VLANTAG } ${ BOLD } ${ DGN } Vlan:  ${ BGN } Host ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      # Strip prefix if present for config file storage 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      local  VLAN_VALUE = " $VLAN " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      [ [  " $VLAN "  = ~ ^,tag=  ] ]  &&  VLAN_VALUE = " ${ VLAN #,tag= } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  " $VLAN_VALUE "  = ~ ^-?[ 0-9] +$ ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ VLANTAG } ${ BOLD } ${ DGN } Vlan:  ${ BGN } $VLAN_VALUE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        VLAN = " ,tag= $VLAN_VALUE " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
									
										
										
										
											2025-07-30 13:14:16 -06:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								        msg_error " VLAN must be an integer, was  ${ VLAN_VALUE } " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  VLAN1 = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set a Vlan(leave blank for no VLAN)"  8  58  --title "VLAN"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -z " $VLAN1 "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        VLAN1 = "Default" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        VLAN = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        VLAN = " ,tag= $VLAN1 " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ VLANTAG } ${ BOLD } ${ DGN } Vlan:  ${ BGN } $VLAN1 ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ TAGS - } "  ] ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  [ [  " $TAGS "  = =  *"DEFAULT" * ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      TAGS = " ${ TAGS //DEFAULT/ } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      TAGS = " ${ TAGS //;/ } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      TAGS = " $TAGS ; ${ var_tags :- } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } Tags:  ${ BGN } $TAGS ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    TAGS = "community-scripts;" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ADV_TAGS = $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "Set Custom Tags?[If you remove all, there will be no tags!]"  8  58  " ${ TAGS } "  --title "Advanced Tags"  3>& 1  1>& 2  2>& 3) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [  -n " ${ ADV_TAGS } "  ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        ADV_TAGS = $( echo  " $ADV_TAGS "  |  tr -d '[:space:]' ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        TAGS = " ${ ADV_TAGS } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        TAGS = ";" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ NETWORK } ${ BOLD } ${ DGN } Tags:  ${ BGN } $TAGS ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      exit_script
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ SSH - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $SSH "  = =  "yes"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ ROOTSSH } ${ BOLD } ${ DGN } Root SSH Access:  ${ BGN } $SSH ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      if  [ [  ! -z " $SSH_AUTHORIZED_KEY "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ ROOTSSH } ${ BOLD } ${ DGN } SSH Authorized Key:  ${ BGN } ******************** ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        echo  -e " ${ ROOTSSH } ${ BOLD } ${ DGN } SSH Authorized Key:  ${ BGN } None ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $SSH "  = =  "no"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ ROOTSSH } ${ BOLD } ${ DGN } Root SSH Access:  ${ BGN } $SSH ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " SSH needs to be 'yes' or 'no', was  ${ SSH } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    SSH_AUTHORIZED_KEY = " $( whiptail --backtitle "Proxmox VE Helper Scripts"  --inputbox "SSH Authorized key for root (leave empty for none)"  8  58  --title "SSH Key"  3>& 1  1>& 2  2>& 3) " 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  -z " ${ SSH_AUTHORIZED_KEY } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      SSH_AUTHORIZED_KEY = "" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $PW "  = =  -password* ||  -n " $SSH_AUTHORIZED_KEY "  ] ] ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								      if  ( whiptail --backtitle "Proxmox VE Helper Scripts"  --defaultno --title "SSH ACCESS"  --yesno "Enable Root SSH Access?"  10  58) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								        SSH = "yes" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								        SSH = "no" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ ROOTSSH } ${ BOLD } ${ DGN } Root SSH Access:  ${ BGN } $SSH ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      SSH = "no" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ ROOTSSH } ${ BOLD } ${ DGN } Root SSH Access:  ${ BGN } $SSH ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-06-02 14:16:11 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  [ [  -n " $ENABLE_FUSE "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $ENABLE_FUSE "  = =  "yes"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ FUSE } ${ BOLD } ${ DGN } Enable FUSE:  ${ BGN } Yes ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $ENABLE_FUSE "  = =  "no"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ FUSE } ${ BOLD } ${ DGN } Enable FUSE:  ${ BGN } No ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " Enable FUSE needs to be 'yes' or 'no', was  ${ ENABLE_FUSE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( whiptail --backtitle "Proxmox VE Helper Scripts"  --defaultno --title "FUSE"  --yesno "Enable FUSE?"  10  58) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ENABLE_FUSE = "yes" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ENABLE_FUSE = "no" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ FUSE } ${ BOLD } ${ DGN } Enable FUSE:  ${ BGN } $ENABLE_FUSE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-07-14 21:50:56 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  [ [  -n " $ENABLE_TUN "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $ENABLE_TUN "  = =  "yes"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ FUSE } ${ BOLD } ${ DGN } Enable TUN:  ${ BGN } Yes ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $ENABLE_TUN "  = =  "no"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ FUSE } ${ BOLD } ${ DGN } Enable TUN:  ${ BGN } No ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " Enable TUN needs to be 'yes' or 'no', was  ${ ENABLE_TUN } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  ( whiptail --backtitle "Proxmox VE Helper Scripts"  --defaultno --title "TUN"  --yesno "Enable TUN?"  10  58) ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ENABLE_TUN = "yes" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      ENABLE_TUN = "no" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ FUSE } ${ BOLD } ${ DGN } Enable TUN:  ${ BGN } $ENABLE_TUN ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								  if  [ [  -n " ${ VERBOSE - } "  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    if  [ [  " $VERBOSE "  = =  "yes"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ SEARCH } ${ BOLD } ${ DGN } Verbose Mode:  ${ BGN } $VERBOSE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    elif  [ [  " $VERBOSE "  = =  "no"  ] ] ;  then 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      echo  -e " ${ SEARCH } ${ BOLD } ${ DGN } Verbose Mode:  ${ BGN } No ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      msg_error " Verbose Mode needs to be 'yes' or 'no', was  ${ VERBOSE } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      exit 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
									
										
										
										
											2025-06-20 13:28:06 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								    if  ( whiptail --backtitle "Proxmox VE Helper Scripts"  --defaultno --title "VERBOSE MODE"  --yesno "Enable Verbose Mode?"  10  58) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								      VERBOSE = "yes" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								      VERBOSE = "no" 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ SEARCH } ${ BOLD } ${ DGN } Verbose Mode:  ${ BGN } $VERBOSE ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2025-05-20 11:00:58 +02:00 
										
									 
								 
							 
							
								
									
										 
									 
								
							 
							
								 
							 
							
							
								  if  ( whiptail --backtitle "Proxmox VE Helper Scripts"  --title "ADVANCED SETTINGS WITH CONFIG FILE COMPLETE"  --yesno " Ready to create  ${ APP }  LXC? "  10  58) ;  then 
							 
						 
					
						
							
								
									
										
										
										
											2025-05-16 15:48:18 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ CREATING } ${ BOLD } ${ RD } Creating a  ${ APP }  LXC using the above settings ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  else 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    clear
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    header_info
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    echo  -e " ${ INFO } ${ HOLD }   ${ GN } Using Config File on node  $PVEHOST_NAME ${ CL } " 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								    config_file
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								  fi 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							 
							
							
								}