mirror of
https://github.com/jimeh/dotfiles.git
synced 2026-02-19 06:26:39 +00:00
44 lines
1.1 KiB
Bash
Executable File
44 lines
1.1 KiB
Bash
Executable File
#! /usr/bin/env bash
|
|
#
|
|
# geoiptool
|
|
#
|
|
# A quick and dirty shell script to easily extract data from geoiptool.com.
|
|
# Use, modify, copy, steal, and/or plunder this command to your hearts
|
|
# content, at your own risk of course :) --jimeh
|
|
#
|
|
|
|
padlen=13
|
|
ipaddress="$1"
|
|
|
|
if [[ "$1" == "--raw" ]] || [[ "$1" == "-r" ]]; then
|
|
padlen=0
|
|
ipaddress=$2
|
|
elif [[ "$2" == "--raw" ]] || [[ "$2" == "-r" ]]; then
|
|
padlen=0
|
|
fi
|
|
|
|
case "$1" in
|
|
"-h" | "--help")
|
|
echo "usage: geoiptool [<ipaddress>]"
|
|
echo ""
|
|
echo "Options:"
|
|
echo " --raw, -r: Do not align headers. Allows easier machine parsing of output."
|
|
echo ""
|
|
echo "Look up details for given IP address via http://www.geoiptool.com/. If no IP"
|
|
echo "address is given, your own public IP will be used instead."
|
|
;;
|
|
*)
|
|
curl -s "http://www.geoiptool.com/en/?IP=${ipaddress}" -H "User-Agent: " |
|
|
awk -F '(</?[^>]+>)+' \
|
|
"/Host Name/,/Latitude/ {
|
|
if (/:/) {
|
|
printf(\"%${padlen}s \", \$2);
|
|
getline;
|
|
gsub(/^[ \t]+/, \"\", \$2);
|
|
gsub(/[ \t]+$/, \"\", \$2);
|
|
print \$2
|
|
}
|
|
}"
|
|
;;
|
|
esac
|