(o o) ____________ooO_( )_Ooo_______________________________a_m_o_x___ ____ ___ ____ / ___| ___ ___|_ _| _ \ | | _ / _ \/ _ \| || |_) | | |_| | __/ (_) | || __/ \____|\___|\___/___|_| Find the geolocation of an IP address from command-line After a long search on the Internet - my wish seams to be that of many - I finally found, among many others, GeoIPLookup.io and its corresponding API. To use the API we need to install CURL, the command-line downloader and JQ, a command-line tool to process the JSON data from the API. For Ubuntu/Debian: $ sudo apt update $ sudo apt install curl jq Show geolocation data for your own public IP in json format: $ curl https://json.geoiplookup.io { "ip": "88.xx.xx.xx", "isp": "HIGHWAY194", "org": "High Speed Internet Customers", "hostname": "88-xx-xx-xx.adsl.highway.telekom.at", "latitude": 48.2235, "longitude": 16.3987, "postal_code": "1020", "city": "Vienna (Leopoldstadt)", "country_code": "AT", "country_name": "Austria", "continent_code": "EU", "continent_name": "Europe", "region": "Vienna", "district": "Vienna", "timezone_name": "Europe\/Vienna", "connection_type": "Cable\/DSL", "asn_number": 8447, "asn_org": "A1 Telekom Austria AG", "asn": "AS8447 - A1 Telekom Austria AG", "currency_code": "EUR", "currency_name": "Euro", "success": true, "premium": false } For output only the IP and country use JQ: $ curl https://json.geoiplookup.io | jq '.ip, .country_name' % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 720 0 720 0 0 5070 0 --:--:-- --:--:-- --:--:-- 5070 "88.xx.xx.xx" "Austria" To get rid of the progress info of CURL use '-s' option and to eliminate the quotes of JQ data use '-r' option: $ curl -s https://json.geoiplookup.io | jq -r '.ip, .country_name' 88.xx.xx.xx Austria To check a foreign IP: $ curl -s https://json.geoiplookup.io/8.8.8.8 | jq -r '.country_name' United States For more information take a look at: -> https://geoiplookup.io/api ___________________________________________________2022_06_26___