From bd3c5668f9cf6bf22d26beb80eba2bc5a89051de Mon Sep 17 00:00:00 2001 From: rek79 Date: Thu, 22 Jul 2021 13:09:36 -0400 Subject: [PATCH] Simplify localIP detection and improve compatibility (#2432) --- home.admin/99connectMenu.sh | 5 ++--- home.admin/_background.sh | 2 +- home.admin/config.scripts/blitz.statusscan.sh | 2 +- home.admin/config.scripts/bonus.btcpayserver.sh | 2 +- home.admin/config.scripts/bonus.cryptoadvance-specter.sh | 2 +- home.admin/config.scripts/bonus.lit.sh | 4 ++-- home.admin/config.scripts/bonus.lnbits.sh | 2 +- home.admin/config.scripts/bonus.lndconnect.sh | 2 +- home.admin/config.scripts/bonus.mempool.sh | 2 +- home.admin/config.scripts/bonus.rtl.sh | 2 +- home.admin/config.scripts/bonus.sphinxrelay.sh | 2 +- home.admin/config.scripts/bonus.thunderhub.sh | 2 +- home.admin/config.scripts/internet.sh | 4 ++-- home.admin/config.scripts/lnd.export.sh | 4 ++-- 14 files changed, 18 insertions(+), 19 deletions(-) diff --git a/home.admin/99connectMenu.sh b/home.admin/99connectMenu.sh index f73d752d3..bdbb35f0f 100644 --- a/home.admin/99connectMenu.sh +++ b/home.admin/99connectMenu.sh @@ -166,10 +166,9 @@ HiddenServicePort 8333 127.0.0.1:8333" | sudo tee -a /etc/tor/torrc echo "# Running on ${chain}net" echo localIPrange=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' |\ - grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' |\ + grep 'eth0\|wlan0\|enp0\|inet' | tail -n1 | awk '{print $2}' |\ awk -F. '{print $1"."$2"."$3".0/24"}') - localIP=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' |\ - grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localIP=$(hostname -I | awk '{print $1}') allowIPrange=$(grep -c "rpcallowip=$localIPrange" < /mnt/hdd/${network}/${network}.conf) bindIP=$(grep -c "${chain}.rpcbind=$localIP" < /mnt/hdd/${network}/${network}.conf) rpcTorService=$(grep -c "HiddenServicePort ${BITCOINRPCPORT} 127.0.0.1:${BITCOINRPCPORT}" < /etc/tor/torrc) diff --git a/home.admin/_background.sh b/home.admin/_background.sh index 261ec167d..b2471b931 100755 --- a/home.admin/_background.sh +++ b/home.admin/_background.sh @@ -94,7 +94,7 @@ do echo "*** RECHECK DHCP-SERVER ***" # get the local network IP - localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localip=$(hostname -I | awk '{print $1}') echo "localip(${localip})" # detect a missing DHCP config diff --git a/home.admin/config.scripts/blitz.statusscan.sh b/home.admin/config.scripts/blitz.statusscan.sh index f7274a2f5..b8f5956b0 100755 --- a/home.admin/config.scripts/blitz.statusscan.sh +++ b/home.admin/config.scripts/blitz.statusscan.sh @@ -26,7 +26,7 @@ sudo mkdir /mnt/hdd/temp 2>/dev/null sudo chmod 777 -R /mnt/hdd/temp 2>/dev/null # localIP -localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep -E -i '(*[eth|ens|enp|eno|wlan|wlp][0-9]$)' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') +localip=$(hostname -I | awk '{print $1}') echo "localIP='${localip}'" # temp - no measurement in a VM diff --git a/home.admin/config.scripts/bonus.btcpayserver.sh b/home.admin/config.scripts/bonus.btcpayserver.sh index 3053b3b1a..b0653e847 100755 --- a/home.admin/config.scripts/bonus.btcpayserver.sh +++ b/home.admin/config.scripts/bonus.btcpayserver.sh @@ -27,7 +27,7 @@ if [ "$1" = "status" ]; then isInstalled=$(sudo ls /etc/systemd/system/btcpayserver.service 2>/dev/null | grep -c 'btcpayserver.service') echo "installed=${isInstalled}" - localIP=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localIP=$(hostname -I | awk '{print $1}') echo "localIP='${localIP}'" echo "httpsPort='23001'" echo "publicIP='${publicIP}'" diff --git a/home.admin/config.scripts/bonus.cryptoadvance-specter.sh b/home.admin/config.scripts/bonus.cryptoadvance-specter.sh index 36572fd55..33bd84480 100755 --- a/home.admin/config.scripts/bonus.cryptoadvance-specter.sh +++ b/home.admin/config.scripts/bonus.cryptoadvance-specter.sh @@ -22,7 +22,7 @@ if [ "$1" = "status" ]; then echo "configured=1" # get network info - localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localip=$(hostname -I | awk '{print $1}') toraddress=$(sudo cat /mnt/hdd/tor/cryptoadvance-specter/hostname 2>/dev/null) fingerprint=$(openssl x509 -in /home/specter/.specter/cert.pem -fingerprint -noout | cut -d"=" -f2) echo "localip='${localip}'" diff --git a/home.admin/config.scripts/bonus.lit.sh b/home.admin/config.scripts/bonus.lit.sh index 0cc8f5f29..e441d6d62 100644 --- a/home.admin/config.scripts/bonus.lit.sh +++ b/home.admin/config.scripts/bonus.lit.sh @@ -29,7 +29,7 @@ fi if [ "$1" = "menu" ]; then # get network info - localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0' | grep 'eth0\|wlan0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localip=$(hostname -I | awk '{print $1}') toraddress=$(sudo cat /mnt/hdd/tor/lit/hostname 2>/dev/null) fingerprint=$(sudo openssl x509 -in /home/lit/.lit/tls.cert -fingerprint -noout | cut -d"=" -f2) @@ -382,4 +382,4 @@ fi echo "FAIL - Unknown Parameter $1" echo "may need reboot to run normal again" exit 1 - \ No newline at end of file + diff --git a/home.admin/config.scripts/bonus.lnbits.sh b/home.admin/config.scripts/bonus.lnbits.sh index 523ad2dab..c5fc76a4f 100755 --- a/home.admin/config.scripts/bonus.lnbits.sh +++ b/home.admin/config.scripts/bonus.lnbits.sh @@ -85,7 +85,7 @@ if [ "$1" = "status" ]; then if [ "${LNBits}" = "on" ]; then echo "installed=1" - localIP=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localIP=$(hostname -I | awk '{print $1}') echo "localIP='${localIP}'" echo "httpPort='5000'" echo "httpsPort='5001'" diff --git a/home.admin/config.scripts/bonus.lndconnect.sh b/home.admin/config.scripts/bonus.lndconnect.sh index b72afb813..a1f2896db 100755 --- a/home.admin/config.scripts/bonus.lndconnect.sh +++ b/home.admin/config.scripts/bonus.lndconnect.sh @@ -135,7 +135,7 @@ fi # get the local IP as default host if [ ${#host} -eq 0 ]; then - host=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + host=$(hostname -I | awk '{print $1}') fi # change host to dynDNS if set diff --git a/home.admin/config.scripts/bonus.mempool.sh b/home.admin/config.scripts/bonus.mempool.sh index de351a8d9..92d5b23df 100755 --- a/home.admin/config.scripts/bonus.mempool.sh +++ b/home.admin/config.scripts/bonus.mempool.sh @@ -32,7 +32,7 @@ This can take multiple hours. fi # get network info - localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0' | grep 'eth0\|wlan0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localip=$(hostname -I | awk '{print $1}') toraddress=$(sudo cat /mnt/hdd/tor/mempool/hostname 2>/dev/null) fingerprint=$(openssl x509 -in /mnt/hdd/app-data/nginx/tls.cert -fingerprint -noout | cut -d"=" -f2) diff --git a/home.admin/config.scripts/bonus.rtl.sh b/home.admin/config.scripts/bonus.rtl.sh index 5558a3823..ba4637942 100755 --- a/home.admin/config.scripts/bonus.rtl.sh +++ b/home.admin/config.scripts/bonus.rtl.sh @@ -74,7 +74,7 @@ fi if [ "$1" = "menu" ]; then # get network info - localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localip=$(hostname -I | awk '{print $1}') toraddress=$(sudo cat /mnt/hdd/tor/RTL/hostname 2>/dev/null) fingerprint=$(openssl x509 -in /mnt/hdd/app-data/nginx/tls.cert -fingerprint -noout | cut -d"=" -f2) diff --git a/home.admin/config.scripts/bonus.sphinxrelay.sh b/home.admin/config.scripts/bonus.sphinxrelay.sh index 79117abc5..83faecb75 100755 --- a/home.admin/config.scripts/bonus.sphinxrelay.sh +++ b/home.admin/config.scripts/bonus.sphinxrelay.sh @@ -199,7 +199,7 @@ if [ "$1" = "status" ]; then echo "installed=0" fi - localIP=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localIP=$(hostname -I | awk '{print $1}') echo "localIP='${localIP}'" echo "httpsPort='3301'" echo "httpPort='3300'" diff --git a/home.admin/config.scripts/bonus.thunderhub.sh b/home.admin/config.scripts/bonus.thunderhub.sh index c74712f0f..276bc3dc7 100755 --- a/home.admin/config.scripts/bonus.thunderhub.sh +++ b/home.admin/config.scripts/bonus.thunderhub.sh @@ -23,7 +23,7 @@ fi if [ "$1" = "menu" ]; then # get network info - localip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0\|enp0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + localip=$(hostname -I | awk '{print $1}') toraddress=$(sudo cat /mnt/hdd/tor/thunderhub/hostname 2>/dev/null) fingerprint=$(openssl x509 -in /mnt/hdd/app-data/nginx/tls.cert -fingerprint -noout | cut -d"=" -f2) diff --git a/home.admin/config.scripts/internet.sh b/home.admin/config.scripts/internet.sh index 2e09c37ab..08bee8fd2 100755 --- a/home.admin/config.scripts/internet.sh +++ b/home.admin/config.scripts/internet.sh @@ -58,11 +58,11 @@ fi ############################################# # get local IP (from different sources) -localip_ALL=$(ip addr 2>/dev/null | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep -E -i '(*[eth|ens|enp|eno|wlan|inet|wlp][0-9]$)' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') +localip_ALL=$(hostname -I | awk '{print $1}') if [ $(isValidIP ${localip_ALL}) -eq 0 ]; then localip_ALL="" fi -localip_LAN=$(ip addr 2>/dev/null | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep -E -i '(*[eth][0-9]$)' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') +localip_LAN=$(ip addr 2>/dev/null | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep -E -i '(*[eth][0-9]$)*' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') if [ $(isValidIP ${localip_LAN}) -eq 0 ]; then localip_LAN="" fi diff --git a/home.admin/config.scripts/lnd.export.sh b/home.admin/config.scripts/lnd.export.sh index 830810d74..e62e8df43 100755 --- a/home.admin/config.scripts/lnd.export.sh +++ b/home.admin/config.scripts/lnd.export.sh @@ -123,7 +123,7 @@ elif [ "${exportType}" = "btcpay" ]; then ########################### elif [ "${exportType}" = "scp" ]; then - local_ip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + local_ip=$(hostname -I | awk '{print $1}') clear echo "###### DOWNLOAD BY SCP ######" echo "Copy, paste and execute these commands in your client terminal to download the files." @@ -141,7 +141,7 @@ elif [ "${exportType}" = "scp" ]; then ########################### elif [ "${exportType}" = "http" ]; then - local_ip=$(ip addr | grep 'state UP' -A2 | grep -E -v 'docker0|veth' | grep 'eth0\|wlan0' | tail -n1 | awk '{print $2}' | cut -f1 -d'/') + local_ip=$(hostname -I | awk '{print $1}') randomPortNumber=$(shuf -i 20000-39999 -n 1) sudo ufw allow from 192.168.0.0/16 to any port ${randomPortNumber} comment 'temp http server' clear