Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #SERVICE=https://freegeoip.app/xml/
- #SERVICE=https://reallyfreegeoip.org/xml/
- SERVICE=https://xml.geoiplookup.io/
- ###############
- # nmcli??
- # https://developer.gnome.org/NetworkManager/stable/nmcli.html
- ###############
- NET_iface="`ip route | grep -n default | sort -b -k 9 | awk 'NR==1 {print $5}'`"
- if [ -z $NET_iface ]; then
- echo -e "------\n Non c'è connessione di rete\n-------"
- exit 1
- else
- ping -s 1 -l 1 -c 1 gnu.org &>/dev/null
- PING_EXIT=$?
- if [ $PING_EXIT -gt 0 ]; then
- echo -e "-------\n ping -c 1 gnu.org exit $PING_EXIT"
- echo -e " Non c'è connettivita su Internet\n--------"
- exit 1
- fi
- fi
- #QQ="<Response>
- #<IP>188.218.28.144</IP>
- #<CountryCode>IT</CountryCode>
- #<CountryName>Italy</CountryName>
- #<RegionCode>25</RegionCode>
- #<RegionName>Lombardia/lomb</RegionName>
- #<City></City>
- #<ZipCode>20121</ZipCode>
- #<TimeZone>Europe/Rome</TimeZone>
- #<Latitude>10</Latitude>
- #<Longitude>-10.00000</Longitude>
- #<MetroCode>0</MetroCode>
- #</Response>"
- QQ="`curl -s -A "$thisFile" -k -L $SERVICE$1`"
- QQ=${QQ//$'\n'/} # rimuone i fine riga
- QQ=${QQ//\<\?xml*\?\>/} # rimuove <?xml version="1.0" encoding="UTF-8"?>
- thisFile="$BASHPID `basename $0`"
- rdom () { # https://stackoverflow.com/questions/893585/how-to-parse-xml-in-bash
- local IFS="\/\> "
- #local IFS="\> "
- read -d \< E C
- }
- while rdom; do
- if [ -n "$E" ]; then
- X=${E^^} # upper case
- if [ $X == RESPONSE -o $X == DATA ]; then
- if [ ! -z $1 ]; then
- X="$E for \"$1\" from \"$SERVICE\""
- echo $X
- else
- echo "\"$E\" for your Internet address from \"$SERVICE\""
- fi
- echo ------
- else
- eval $X=\"$C\"
- echo $E=$C
- fi
- fi
- done <<< "$QQ"
- if [ -n "$IP" ]; then
- echo ---------
- if [[ ${#LATITUDE} -eq 1 && $LATITUDE -eq 0 && \
- ${#LONGITUDE} -eq 1 && $LONGITUDE -eq 0 ]]; then
- LAT=NOLatitude ; LON=NOLongitude
- else
- LAT=$LATITUDE LON=$LONGITUDE
- fi
- #ISNUMBER=^-?[0-9\.0-9]+$
- ISNUMBER=^[+-]?[[:digit:]]
- if [[ $LAT =~ $ISNUMBER && $LON =~ $ISNUMBER ]]; then
- ########
- # parameter-substitution
- # http://www.pluto.it/files/ildp/guide/abs/parameter-substitution.html
- ########
- if [ -n "$CITY" ]; then
- CITY=${CITY// /+}
- CITY=${CITY//(/}
- CITY=${CITY//)/}
- PLACE=/place/$CITY
- if [ -n "$REGIONNAME" ]; then REGIONname=${REGIONNAME// /+}; fi
- if [ -n "$REGION" ]; then REGIONname=${REGION// /+}; fi
- if [ -n "$REGIONname" ]; then
- if [ -n "$CITY" ]; then
- PLACE=$PLACE,+$REGIONname
- else
- PLACE=/place/$REGIONname
- fi
- fi
- if [ -n "$COUNTRYNAME" ]; then COUNTRYname=${COUNTRYNAME// /+}; fi
- if [ -n "$COUNTRY_NAME" ]; then COUNTRYname=${COUNTRY_NAME// /+}; fi
- if [ -n "$COUNTRYname" ]; then
- if [ -n "$CITY" -o -n "$REGIONname" ]; then
- PLACE=$PLACE,+$COUNTRYname
- else
- PLACE=/place/$COUNTRYname
- fi
- fi
- else
- PLACE=
- fi
- echo " url-OSM=https://www.openstreetmap.org/?mlat=$LAT&mlon=$LON&zoom=10"
- echo "url-GMap=https://www.google.com/maps$PLACE/@$LAT,$LON,10z"
- echo ------
- fi
- if [ `which fping` ]; then
- HOST_NAME=`fping -dA -r 1 $IP`
- echo hostname=$HOST_NAME
- echo -----
- echo " prova host -a $IP"
- if [ ! -z $1 ]; then echo " oppure host -a $1" ; fi
- fi
- else
- echo ------
- echo -e " forse il nome di dominio \"$1\" non é corretto"
- echo -e "\t$SERVICE$1"
- echo -e " $QQ" | head -n 5
- echo ------
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement