@ -252,16 +252,13 @@ chooseInterface() {
# Find out how many interfaces are available to choose from
interfaceCount = $( echo " ${ availableInterfaces } " | wc -l)
chooseInterfaceCmd = ( whiptail --separate-output --radiolist "Choose An Interface (press space to select)" ${ r } ${ c } ${ interfaceCount } )
chooseInterfaceOptions = $( " ${ chooseInterfaceCmd [@] } " " ${ interfacesArray [@] } " 2>& 1 >/dev/tty)
if [ [ $? = 0 ] ] ; then
chooseInterfaceOptions = $( " ${ chooseInterfaceCmd [@] } " " ${ interfacesArray [@] } " 2>& 1 >/dev/tty) || \
{ echo "::: Cancel selected. Exiting" ; exit 1; }
for desiredInterface in ${ chooseInterfaceOptions } ; do
PIHOLE_INTERFACE = ${ desiredInterface }
echo " ::: Using interface: $PIHOLE_INTERFACE "
done
else
echo "::: Cancel selected, exiting...."
exit 1
fi
}
useIPv6dialog( ) {
@ -281,8 +278,7 @@ use4andor6() {
cmd = ( whiptail --separate-output --checklist "Select Protocols (press space to select)" ${ r } ${ c } 2)
options = ( IPv4 "Block ads over IPv4" on
IPv6 "Block ads over IPv6" on)
choices = $( " ${ cmd [@] } " " ${ options [@] } " 2>& 1 >/dev/tty)
if [ [ $? = 0 ] ] ; then
choices = $( " ${ cmd [@] } " " ${ options [@] } " 2>& 1 >/dev/tty) || { echo "::: Cancel selected. Exiting" ; exit 1; }
for choice in ${ choices }
do
case ${ choice } in
@ -305,10 +301,6 @@ use4andor6() {
echo "::: Exiting"
exit 1
fi
else
echo "::: Cancel selected. Exiting..."
exit 1
fi
}
getStaticIPv4Settings( ) {
@ -326,14 +318,19 @@ It is also possible to use a DHCP reservation, but if you are going to do that,
# Start by getting the IPv4 address (pre-filling it with info gathered from DHCP)
# Start a loop to let the user enter their information with the chance to go back and edit it if necessary
until [ [ ${ ipSettingsCorrect } = True ] ] ; do
# Ask for the IPv4 address
IPV4_ADDRESS = $( whiptail --backtitle "Calibrating network interface" --title "IPv4 address" --inputbox "Enter your desired IPv4 address" ${ r } ${ c } " ${ IPV4_ADDRESS } " 3>& 1 1>& 2 2>& 3)
if [ [ $? = 0 ] ] ; then
IPV4_ADDRESS = $( whiptail --backtitle "Calibrating network interface" --title "IPv4 address" --inputbox "Enter your desired IPv4 address" ${ r } ${ c } " ${ IPV4_ADDRESS } " 3>& 1 1>& 2 2>& 3) || \
# Cancelling IPv4 settings window
{ ipSettingsCorrect = False; echo "::: Cancel selected. Exiting..." ; exit 1; }
echo " ::: Your static IPv4 address: ${ IPV4_ADDRESS } "
# Ask for the gateway
IPv4gw = $( whiptail --backtitle "Calibrating network interface" --title "IPv4 gateway (router)" --inputbox "Enter your desired IPv4 default gateway" ${ r } ${ c } " ${ IPv4gw } " 3>& 1 1>& 2 2>& 3)
if [ [ $? = 0 ] ] ; then
IPv4gw = $( whiptail --backtitle "Calibrating network interface" --title "IPv4 gateway (router)" --inputbox "Enter your desired IPv4 default gateway" ${ r } ${ c } " ${ IPv4gw } " 3>& 1 1>& 2 2>& 3) || \
# Cancelling gateway settings window
{ ipSettingsCorrect = False; echo "::: Cancel selected. Exiting..." ; exit 1; }
echo " ::: Your static IPv4 gateway: ${ IPv4gw } "
# Give the user a chance to review their settings before moving on
if ( whiptail --backtitle "Calibrating network interface" --title "Static IP Address" --yesno " Are these settings correct?
IP address: ${ IPV4_ADDRESS }
@ -344,18 +341,6 @@ It is also possible to use a DHCP reservation, but if you are going to do that,
# If the settings are wrong, the loop continues
ipSettingsCorrect = False
fi
else
# Cancelling gateway settings window
ipSettingsCorrect = False
echo "::: Cancel selected. Exiting..."
exit 1
fi
else
# Cancelling IPv4 settings window
ipSettingsCorrect = False
echo "::: Cancel selected. Exiting..."
exit 1
fi
done
# End the if statement for DHCP vs. static
fi
@ -446,8 +431,8 @@ setDNS() {
Norton "" off
Comodo "" off
Custom "" off)
DNSchoices = $( " ${ DNSChooseCmd [@] } " " ${ DNSChooseOptions [@] } " 2>& 1 >/dev/tty)
if [ [ $? = 0 ] ] ; then
DNSchoices = $( " ${ DNSChooseCmd [@] } " " ${ DNSChooseOptions [@] } " 2>& 1 >/dev/tty) || \
{ echo "::: Cancel selected. Exiting" ; exit 1; }
case ${ DNSchoices } in
Google)
echo "::: Using Google DNS servers."
@ -489,9 +474,8 @@ setDNS() {
prePopulate = " ${ PIHOLE_DNS_1 } , ${ PIHOLE_DNS_2 } "
fi
piholeDNS = $( whiptail --backtitle "Specify Upstream DNS Provider(s)" --inputbox "Enter your desired upstream DNS provider(s), seperated by a comma.\n\nFor example '8.8.8.8, 8.8.4.4'" ${ r } ${ c } " ${ prePopulate } " 3>& 1 1>& 2 2>& 3)
if [ [ $? = 0 ] ] ; then
piholeDNS = $( whiptail --backtitle "Specify Upstream DNS Provider(s)" --inputbox "Enter your desired upstream DNS provider(s), seperated by a comma.\n\nFor example '8.8.8.8, 8.8.4.4'" ${ r } ${ c } " ${ prePopulate } " 3>& 1 1>& 2 2>& 3) || \
{ echo "::: Cancel selected. Exiting" ; exit 1; }
PIHOLE_DNS_1 = $( echo " ${ piholeDNS } " | sed 's/[, \t]\+/,/g' | awk -F, '{print$1}' )
PIHOLE_DNS_2 = $( echo " ${ piholeDNS } " | sed 's/[, \t]\+/,/g' | awk -F, '{print$2}' )
if ! valid_ip " ${ PIHOLE_DNS_1 } " || [ ! " ${ PIHOLE_DNS_1 } " ] ; then
@ -500,10 +484,6 @@ setDNS() {
if ! valid_ip " ${ PIHOLE_DNS_2 } " && [ " ${ PIHOLE_DNS_2 } " ] ; then
PIHOLE_DNS_2 = ${ strInvalid }
fi
else
echo "::: Cancel selected, exiting...."
exit 1
fi
if [ [ ${ PIHOLE_DNS_1 } = = " ${ strInvalid } " ] ] || [ [ ${ PIHOLE_DNS_2 } = = " ${ strInvalid } " ] ] ; then
whiptail --msgbox --backtitle "Invalid IP" --title "Invalid IP" " One or both entered IP addresses were invalid. Please try again.\n\n DNS Server 1: $PIHOLE_DNS_1 \n DNS Server 2: ${ PIHOLE_DNS_2 } " ${ r } ${ c }
if [ [ ${ PIHOLE_DNS_1 } = = " ${ strInvalid } " ] ] ; then
@ -524,10 +504,6 @@ setDNS() {
done
; ;
esac
else
echo "::: Cancel selected. Exiting..."
exit 1
fi
}
setLogging( ) {
@ -1037,9 +1013,9 @@ update_dialogs() {
UpdateCmd = $( whiptail --title "Existing Install Detected!" --menu " \n\nWe have detected an existing install.\n\nPlease choose from the following options: \n( $strAdd ) " ${ r } ${ c } 2 \
" ${ opt1a } " " ${ opt1b } " \
" ${ opt2a } " " ${ opt2b } " 3>& 2 2>& 1 1>& 3)
" ${ opt2a } " " ${ opt2b } " 3>& 2 2>& 1 1>& 3) || \
{ echo "::: Cancel selected. Exiting" ; exit 1; }
if [ [ $? = 0 ] ] ; then
case ${ UpdateCmd } in
${ opt1a } )
echo " ::: ${ opt1a } option selected. "
@ -1050,10 +1026,6 @@ update_dialogs() {
useUpdateVars = false
; ;
esac
else
echo "::: Cancel selected. Exiting..."
exit 1
fi
}
main( ) {