geoipguesser/views/data.shs
2022-01-12 03:01:48 +01:00

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