From 001eef52b6723e553799b96fa63c0e76e685dab5 Mon Sep 17 00:00:00 2001 From: Henry N Date: Sat, 28 Mar 2020 23:32:30 +0100 Subject: [PATCH] Simplify detection of public IP4 Detect public IP4 more simple. "ip addr | ... | grep -v inet6" replaced with "ip -4 addr". "grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'" repleced with search for "scope global". "grep 'inet' | ... | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'" replaced with search for first word after "inet". All grep in one "sed". --- openvpn-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openvpn-install.sh b/openvpn-install.sh index d152fb6..68b6c94 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -206,7 +206,7 @@ function installQuestions () { echo "Unless your server is behind NAT, it should be your public IPv4 address." # Detect public IPv4 address and pre-fill for the user - IP=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1) + IP=$(ip -4 addr | sed -ne 's|^.* inet \([^/]*\)/.* scope global.*$|\1|p' | head -1) APPROVE_IP=${APPROVE_IP:-n} if [[ $APPROVE_IP =~ n ]]; then read -rp "IP address: " -e -i "$IP" IP