karahti/karahti

54 lines
838 B
Bash
Executable File

#!/usr/bin/env bash
has() {
if (( $# )); then
hash "$1" 2>/dev/null
else
return 1
fi
}
for prog in curl tail; do
if ! has "$prog"; then
printf "please install %s\n" "$prog" >&2
exit 1
fi
done
declare -A opts
while (( $# )); do
case $1 in
--*=*)
key=${1#--} key=${key%%=*}
val=${1#--"$key"=}
opts[$key]=$val
;;
--no-*)
opts[${1#--no-}]=false
;;
--)
shift
break
;;
--*)
opts[${1#--}]=true
;;
*)
break
;;
esac
shift
done
lang=${opts[lang]:-auto} lang=${lang,,}
expiry=${opts[expire]}
url=${opts[url]:-https://p.ahti.space/nanopaste-get.cgi}
tail -n +1 -- "$@" | curl -sSA karahti/1.0 -w %{redirect_url} \
--data-urlencode paste_content@- -d "language=$lang" -d "expiry=$expiry" \
"$url"
printf "\n"