From c0f074de19a53e86300315422a5e2024d9bd2575 Mon Sep 17 00:00:00 2001 From: qo-op Date: Wed, 20 May 2020 18:37:06 +0200 Subject: [PATCH] add -w option for LAN situation, but WAN access through NAT + never output empty --- g1sms/sms_AUTH.sh | 7 +++---- zen/tools/nodename | 19 ++++++++++++++++--- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/g1sms/sms_AUTH.sh b/g1sms/sms_AUTH.sh index f8fe463..b6bd6f6 100755 --- a/g1sms/sms_AUTH.sh +++ b/g1sms/sms_AUTH.sh @@ -21,9 +21,8 @@ PARRAIN=$2 TODAY=$(date '+%Y%m%d') log "__SUB:sms_AUTH.sh ($PHONE, $PARRAIN) $TODAY" -## INITIALIZE RESULT FILE -# [[ $PHONE != "" ]] && sms_INIT_ACCOUNT "$PHONE" "NOSMS" || exit 1 # VERIFICATION ALREADY DONE BY CALLING bash -#[[ $UNKNOWN == "unknown" ]] && echo "G1sms Wallet $PHONE inconnu! Envoyer N au $MASTERPHONE" && exit 1 +[[ $PHONE != "" ]] && sms_INIT_ACCOUNT "$PHONE" "NOSMS" || exit 1 # VERIFICATION ALREADY DONE BY CALLING bash ? +[[ $UNKNOWN == "unknown" ]] && echo "G1sms Wallet $PHONE inconnu! Envoyer N au $MASTERPHONE" && exit 1 # Get AMOUNTG1, AMOUNTLOVE, AMOUNTDU AMOUNTG1=$(silkaj_balance $PUBKEY) @@ -36,7 +35,7 @@ VIR=$(bc -l <<< "scale=2; $PARRAIN * $DUFACTOR / 100") # Need at least $MIN G1 available! MIN=$(bc -l <<< "$AMOUNTG1 - $LIMIT") testmin=$( echo "${VIR} < ${MIN}" | bc -l ) -SMSPIN=$((1000 + RANDOM % 9999)) + log "__SUB:sms_AUTH.sh: CODE $SMSPIN : $VIR < $MIN ? $testmin" if [[ "$testmin" -eq "1" ]] diff --git a/zen/tools/nodename b/zen/tools/nodename index a965d52..f1c1799 100755 --- a/zen/tools/nodename +++ b/zen/tools/nodename @@ -19,20 +19,33 @@ MY_PATH="`dirname \"$0\"`" # relative MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized ME="${0##*/}" +# check if -w is specified: +# Will look for the public IP of my gateway +# if my node is a Demilitarized Zone (DMZ) +WAN=$1 + # GNU DEBIAN Core install extension [[ ! $(which nslookup) ]] && sudo apt-get update && sudo apt-get install dnsutils -y -# What I am doing: +# What is myIP? export myIP=$(hostname -I | awk '{print $1}') # Check if IP is from reserved LAN addresses export isLAN=$(echo $myIP | grep -E "/(^127\.)|(^192\.168\.)|(^10\.)|(^172\.1[6-9]\.)|(^172\.2[0-9]\.)|(^172\.3[0-1]\.)|(^::1$)|(^[fF][cCdD])/") -# Find 1st route gateway +# Find default route gateway export myRouter=$(sudo route -n | head -n 3 | tail -n 1 | awk '{print $2}') -# Ask to the router its name (BOX DNS or system defined) + +# Ask to the router my name (BOX DNS or system defined) [[ $isLAN ]] && export NODENAME=$(sudo nslookup $myIP $myRouter | head -n 1 | awk -F ' = ' '{print $2}' | sed 's/\.[^.]*$//') \ || export NODENAME=$(sudo nslookup $myIP | head -n 1 | awk -F ' = ' '{print $2}' | sed 's/\.[^.]*$//') +if [[ -z "$NODENAME" && "$WAN" == "-w" ]]; then + IP=`wget --quiet http://brouits.free.fr/ip.php -O- | sed 's/\r//'` + NODENAME=`nslookup $IP | head -1 | cut -d'=' -f 2 | sed -E 's/^ *(.*)\.$/\1/'` +fi + +# We must have that nodename, perhaps BOX DNS doesn't exist... [[ $NODENAME == "" ]] && [[ $isLAN ]] && export NODENAME=$(sudo nslookup $myIP | head -n 1 | awk -F ' = ' '{print $2}' | sed 's/\.[^.]*$//') +# OK no DNS is answering, let's be /etc/hostname [[ $NODENAME == "" ]] && NODENAME=$(cat /etc/hostname) # I can tell