fix ip parsing
This commit is contained in:
parent
b0d3abcc9b
commit
03950c60ca
1 changed files with 27 additions and 25 deletions
|
@ -93,22 +93,6 @@ TUN needs to be enabled before running this installer."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
new_client_dns () {
|
new_client_dns () {
|
||||||
echo "Select a DNS server for the client:"
|
|
||||||
echo " 1) Current system resolvers"
|
|
||||||
echo " 2) Google"
|
|
||||||
echo " 3) 1.1.1.1"
|
|
||||||
echo " 4) OpenDNS"
|
|
||||||
echo " 5) Quad9"
|
|
||||||
echo " 6) AdGuard"
|
|
||||||
echo " 7) Custom resolvers"
|
|
||||||
read -p "DNS server [1]: " dns
|
|
||||||
until [[ -z "$dns" || "$dns" =~ ^[1-7]$ ]]; do
|
|
||||||
echo "$dns: invalid selection."
|
|
||||||
read -p "DNS server [1]: " dns
|
|
||||||
done
|
|
||||||
# DNS
|
|
||||||
case "$dns" in
|
|
||||||
1|"")
|
|
||||||
# Locate the proper resolv.conf
|
# Locate the proper resolv.conf
|
||||||
# Needed for systems running systemd-resolved
|
# Needed for systems running systemd-resolved
|
||||||
if grep '^nameserver' "/etc/resolv.conf" | grep -qv '127.0.0.53' ; then
|
if grep '^nameserver' "/etc/resolv.conf" | grep -qv '127.0.0.53' ; then
|
||||||
|
@ -117,7 +101,25 @@ new_client_dns () {
|
||||||
resolv_conf="/run/systemd/resolve/resolv.conf"
|
resolv_conf="/run/systemd/resolve/resolv.conf"
|
||||||
fi
|
fi
|
||||||
# Extract nameservers and provide them in the required format
|
# Extract nameservers and provide them in the required format
|
||||||
dns=$(grep -v '^#\|^;' "$resolv_conf" | grep '^nameserver' | grep -v '127.0.0.53' | grep -oE '[0-9]{1,3}(\.[0-9]{1,3}){3}' | xargs | sed -e 's/ /, /g')
|
system_dns=$(grep -v '^#\|^;' "$resolv_conf" | grep '^nameserver' | grep -v '127.0.0.53' | grep -oE '[0-9]{1,3}(\.[0-9]{1,3}){3}' | xargs | sed -e 's/ /, /g')
|
||||||
|
|
||||||
|
echo "Select a DNS server for the client:"
|
||||||
|
echo " 1) Current system resolvers | $system_dns"
|
||||||
|
echo " 2) 8.8.8.8, 8.8.4.4 | Google"
|
||||||
|
echo " 3) 1.1.1.1, 1.0.0.1 | WARP "
|
||||||
|
echo " 4) 208.67.222.222, 208.67.220.220 | OpenDNS"
|
||||||
|
echo " 5) 9.9.9.9, 149.112.112.112 | Quad9"
|
||||||
|
echo " 6) 94.140.14.14, 94.140.15.15 | AdGuard"
|
||||||
|
echo " 7) Enter custom resolvers"
|
||||||
|
read -p "DNS server [1]: " dns
|
||||||
|
until [[ -z "$dns" || "$dns" =~ ^[1-7]$ ]]; do
|
||||||
|
echo "$dns: invalid selection."
|
||||||
|
read -p "DNS server [1]: " dns
|
||||||
|
done
|
||||||
|
# DNS
|
||||||
|
case "$dns" in
|
||||||
|
1|"")
|
||||||
|
dns=$system_dns
|
||||||
;;
|
;;
|
||||||
2)
|
2)
|
||||||
dns="8.8.8.8, 8.8.4.4"
|
dns="8.8.8.8, 8.8.4.4"
|
||||||
|
@ -138,8 +140,8 @@ new_client_dns () {
|
||||||
# Read from the command line, check the format is valid before exiting loop.
|
# Read from the command line, check the format is valid before exiting loop.
|
||||||
while [[ 1 ]]; do
|
while [[ 1 ]]; do
|
||||||
read -p "Enter custom dns resolvers (e.g. '1.1.1.1, 1.0.0.1'): " dns
|
read -p "Enter custom dns resolvers (e.g. '1.1.1.1, 1.0.0.1'): " dns
|
||||||
[[ "$dns" =~ ^([0-9]{1,3}[\.]){3}[0-9]{1,3}\,\ ([0-9]{1,3}[\.]){3}[0-9]{1,3}$ ]] && break
|
[[ "$dns" =~ ^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$ ]] && break
|
||||||
echo "dns '$dns' incompatible format."
|
echo "dns '$dns' invalid."
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -180,7 +182,7 @@ new_network () {
|
||||||
while [[ 1 ]]; do
|
while [[ 1 ]]; do
|
||||||
read -p "Enter custom network prefix (e.g. '192.168.1'): " network
|
read -p "Enter custom network prefix (e.g. '192.168.1'): " network
|
||||||
[[ "$network" =~ ^([0-9]{1,3}[\.]){2}[0-9]{1,3}$ ]] && break
|
[[ "$network" =~ ^([0-9]{1,3}[\.]){2}[0-9]{1,3}$ ]] && break
|
||||||
echo "Network '$network' incompatible format."
|
echo "Network '$network' invalid. Note: only 3 subnets, not 4! (e.g. a.b.c)"
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
Loading…
Add table
Reference in a new issue