Compare commits

...

3 Commits

Author SHA1 Message Date
tteckster 13ae767e7f
Update monitor-all.sh
code refactoring
2023-05-06 07:30:41 -04:00
tteckster 6312591e58
Update build.func
if a static IP was used, check for gateway IP
2023-05-06 05:04:50 -04:00
tteckster e72c28c324
Update build.func
validate IPv4 CIDR address
2023-05-06 04:24:18 -04:00
2 changed files with 62 additions and 25 deletions

View File

@ -247,28 +247,52 @@ advanced_settings() {
exit-script exit-script
fi fi
if NET=$(whiptail --inputbox "Set a Static IPv4 CIDR Address(/24)" 8 58 dhcp --title "IP ADDRESS" 3>&1 1>&2 2>&3); then while true; do
if [ -z $NET ]; then NET=$(whiptail --inputbox "Set a Static IPv4 CIDR Address (/24)" 8 58 dhcp --title "IP ADDRESS" 3>&1 1>&2 2>&3)
NET="dhcp" exit_status=$?
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}" if [ $exit_status -eq 0 ]; then
if [ "$NET" = "dhcp" ]; then
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
break
else
if [[ "$NET" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}/([0-9]|[1-2][0-9]|3[0-2])$ ]]; then
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}"
break
else
whiptail --msgbox "$NET is an invalid IPv4 CIDR address. Please enter a valid IPv4 CIDR address or 'dhcp'" 8 58
fi
fi
else else
echo -e "${DGN}Using IP Address: ${BGN}$NET${CL}" exit-script
fi fi
else done
exit-script
fi
if GATE1=$(whiptail --inputbox "Set a Gateway IP (mandatory if Static IP was used)" 8 58 --title "GATEWAY IP" 3>&1 1>&2 2>&3); then while true; do
if [ -z $GATE1 ]; then GATE1=$(whiptail --inputbox "Set a Gateway IP (mandatory if Static IP was used)" 8 58 --title "GATEWAY IP" 3>&1 1>&2 2>&3)
GATE1="Default" exit_status=$?
GATE="" if [ $exit_status -eq 0 ]; then
if [ -z "$GATE1" ]; then
if [ "$NET" = "dhcp" ]; then
GATE1="Default"
GATE=""
echo -e "${DGN}Using Gateway IP Address: ${BGN}$GATE1${CL}"
break
else
whiptail --msgbox "Since a static IP was used, a gateway IP address is mandatory." 8 58
fi
else
if [[ "$GATE1" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]]; then
GATE=",gw=$GATE1"
echo -e "${DGN}Using Gateway IP Address: ${BGN}$GATE1${CL}"
break
else
whiptail --msgbox "Invalid IP address. Please enter a valid IP address." 8 58
fi
fi
else else
GATE=",gw=$GATE1" exit-script
fi fi
echo -e "${DGN}Using Gateway IP Address: ${BGN}$GATE1${CL}" done
else
exit-script
fi
if (whiptail --defaultno --title "IPv6" --yesno "Disable IPv6?" 10 58); then if (whiptail --defaultno --title "IPv6" --yesno "Disable IPv6?" 10 58); then
DISABLEIP6="yes" DISABLEIP6="yes"
@ -376,7 +400,7 @@ install_script() {
arch_check arch_check
pve_check pve_check
if systemctl is-active -q ping-instances.service; then if systemctl is-active -q ping-instances.service; then
systemctl stop ping-instances.service systemctl stop ping-instances.service
fi fi
NEXTID=$(pvesh get /cluster/nextid) NEXTID=$(pvesh get /cluster/nextid)
timezone=$(cat /etc/timezone) timezone=$(cat /etc/timezone)
@ -512,6 +536,6 @@ description() {
### https://tteck.github.io/Proxmox/ ### https://tteck.github.io/Proxmox/
<a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/☕-Buy me a coffee-red' /></a>" <a href='https://ko-fi.com/D1D7EP4GF'><img src='https://img.shields.io/badge/☕-Buy me a coffee-red' /></a>"
if [[ -f /etc/systemd/system/ping-instances.service ]]; then if [[ -f /etc/systemd/system/ping-instances.service ]]; then
systemctl start ping-instances.service systemctl start ping-instances.service
fi fi
} }

View File

@ -118,11 +118,24 @@ remove() {
echo "Removed Monitor All from Proxmox VE" echo "Removed Monitor All from Proxmox VE"
} }
if [ "$1" == "add" ]; then # Define options for the whiptail menu
OPTIONS=(Add "Add Monitor-All to Proxmox VE" \
Remove "Remove Monitor-All from Proxmox VE")
# Show the whiptail menu and save the user's choice
CHOICE=$(whiptail --title "Monitor-All for Proxmox VE" --menu "Select an option:" 10 58 2 \
"${OPTIONS[@]}" 3>&1 1>&2 2>&3)
# Check the user's choice and perform the corresponding action
case $CHOICE in
"Add")
add add
elif [ "$1" == "remove" ]; then ;;
"Remove")
remove remove
else ;;
echo "Usage: $0 [ -s add | -s remove ]" *)
exit 1 echo "Exiting..."
fi exit 0
;;
esac