diff --git a/config/scripts/lip b/config/scripts/lip new file mode 100755 index 0000000..90ae72b --- /dev/null +++ b/config/scripts/lip @@ -0,0 +1,29 @@ +#!/usr/bin/env sh + +set -euo pipefail + +url="https://ip.frogeye.fr/json" +cachedir="$HOME/.cache/lip" + +ip="${1:-}" +if [ $# -gt 0 ] +then + shift + jq_sel="$@" +else + jq_sel="del(.user_agent)" +fi + +if [ -n "$ip" ] +then + cachefile="$cachedir/$ip" + if ! find "$cachefile" -mtime -7 &> /dev/null + then + mkdir -p "$cachedir" + curl --silent "$url/?ip=$ip" > "$cachefile" + fi + cat "$cachefile" | jq $jq_sel +else + curl --silent "$url" | jq $jq_sel +fi +