27 lines
868 B
Bash
27 lines
868 B
Bash
#!/bin/bash
|
|
|
|
source "${cfg[namespace]}/code/json.sh"
|
|
source "${cfg[namespace]}/code/rand.sh"
|
|
|
|
ip=$(random_ip)
|
|
ipinfo="$(curl "https://ipinfo.io/$ip?token=${cfg[ipinfo_token]}")"
|
|
|
|
declare -A res
|
|
|
|
res[ip]="$ip"
|
|
res[traceroute]="$(timeout 10 traceroute "$ip")"
|
|
res[whois]="$(whois "$ip" | sed -E 's/address:.*/address: ***REDACTED***/gi;
|
|
s/phone:.*/phone: ***REDACTED***/gi;
|
|
s/fax-no:.*/fax-no: ***REDACTED***/gi;
|
|
s/country:.*/country: ***REDACTED**/gi;
|
|
s/stateprov::.*/StateProv: ***REDACTED**/gi;
|
|
/^#/d;
|
|
/^%/d')"
|
|
res[city]="$(jq -r '.city' <<< "$ipinfo")"
|
|
res[region]="$(jq -r '.region' <<< "$ipinfo")"
|
|
res[country]="$(jq -r '.country' <<< "$ipinfo")"
|
|
res[lat]="$(jq -r '.loc' <<< "$ipinfo" | cut -d, -f1)"
|
|
res[lon]="$(jq -r '.loc' <<< "$ipinfo" | cut -d, -f2)"
|
|
|
|
json_object res
|