16 lines
542 B
Bash
Executable file
16 lines
542 B
Bash
Executable file
#!/bin/sh
|
|
. libsb
|
|
|
|
cache="${XDG_CACHE_HOME:-$HOME/.cache}/geoip"
|
|
|
|
# loc_addr="$(ip route get 9.9.9.9 | awk 'NR==1 {print $7}')"
|
|
pub_addr="$(curl -s ipv4.icanhazip.com 2>/dev/null)"
|
|
|
|
location="$(awk -F: -v ip="$pub_addr" '$1==ip {print $2}' "$cache")"
|
|
[ -z "$location" ] && {
|
|
location="$(curl -s "https://reallyfreegeoip.org/json/${pub_addr}" | jq -r '.country_name')"
|
|
echo "${pub_addr}:${location}" >>"$cache"
|
|
}
|
|
flag="$(awk -v loc="$location" '$0 ~ loc {print $1}' "${XDG_DATA_HOME:-$HOME/.local/share}/emoji")"
|
|
|
|
echo "${flag} ${pub_addr}"
|