From d87741a0996557d2d40754881c8e76b3bc02b1ae Mon Sep 17 00:00:00 2001 From: Alef Farah Date: Thu, 22 Jun 2023 11:26:39 -0300 Subject: [PATCH 1/2] dont get ip if we already have it --- openvpn-install.sh | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/openvpn-install.sh b/openvpn-install.sh index c47e08f..b9a06f4 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -228,12 +228,17 @@ 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 -4 addr | sed -ne 's|^.* inet \([^/]*\)/.* scope global.*$|\1|p' | head -1) + if [[ -z $PUBLIC_IP ]]; then + IP=$(ip -4 addr | sed -ne 's|^.* inet \([^/]*\)/.* scope global.*$|\1|p' | head -1) - if [[ -z $IP ]]; then - # Detect public IPv6 address - IP=$(ip -6 addr | sed -ne 's|^.* inet6 \([^/]*\)/.* scope global.*$|\1|p' | head -1) + if [[ -z $IP ]]; then + # Detect public IPv6 address + IP=$(ip -6 addr | sed -ne 's|^.* inet6 \([^/]*\)/.* scope global.*$|\1|p' | head -1) + fi + else + IP="$PUBLIC_IP" fi + APPROVE_IP=${APPROVE_IP:-n} if [[ $APPROVE_IP =~ n ]]; then read -rp "IP address: " -e -i "$IP" IP From 578f3a10abd9c4895d47e7645496568235d29947 Mon Sep 17 00:00:00 2001 From: Alef Farah Date: Wed, 5 Jul 2023 10:58:08 -0300 Subject: [PATCH 2/2] switch prefered methods to obtain the public ip --- openvpn-install.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/openvpn-install.sh b/openvpn-install.sh index b9a06f4..f2b4055 100755 --- a/openvpn-install.sh +++ b/openvpn-install.sh @@ -632,12 +632,12 @@ function installOpenVPN() { # Behind NAT, we'll default to the publicly reachable IPv4/IPv6. if [[ $IPV6_SUPPORT == "y" ]]; then - if ! PUBLIC_IP=$(curl -f --retry 5 --retry-connrefused https://ip.seeip.org); then - PUBLIC_IP=$(dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com | tr -d '"') + if ! PUBLIC_IP=$(dig -6 TXT +short o-o.myaddr.l.google.com @ns1.google.com | tr -d '"'); then + PUBLIC_IP=$(curl -f --retry 5 --retry-connrefused https://ip.seeip.org) fi else - if ! PUBLIC_IP=$(curl -f --retry 5 --retry-connrefused -4 https://ip.seeip.org); then - PUBLIC_IP=$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | tr -d '"') + if ! PUBLIC_IP=$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com | tr -d '"'); then + PUBLIC_IP=$(curl -f --retry 5 --retry-connrefused -4 https://ip.seeip.org) fi fi ENDPOINT=${ENDPOINT:-$PUBLIC_IP}