diff options
Diffstat (limited to 'urnresolve')
| -rwxr-xr-x | urnresolve | 35 | 
1 files changed, 35 insertions, 0 deletions
| diff --git a/urnresolve b/urnresolve new file mode 100755 index 0000000..864859b --- /dev/null +++ b/urnresolve @@ -0,0 +1,35 @@ +#!/bin/sh +echo "urnstart: working on:" "$1" >&2 +urn="$(printf '%s\n' "$1" | cut -d: -f1)" +if [ "$urn" != "urn" ];then +  echo "this isn't a urn. wtf are you waking me up for? I'm going back to bed. fuck this shit." >&2 +  exit 1 +fi + +nid="$(printf '%s\n' "$1" | cut -d: -f2)" +nss="$(printf '%s\n' "$1" | cut -d: -f3)" +nss2="$(printf '%s\n' "$1" | cut -d: -f4-)" + +if [ "$nid" = "anonet" ];then +  if [ "$nss" = "asn" ];then +    echo "whois://whois.ano/AS${nss2}" +  elif [ "$nss" = "ip4" -o "$nss" = "ip6" -o "$nss" = "dom" ];then +    echo "whois://whois.ano/${nss2}" +  fi +fi + +if [ "$nid" = "ietf" ];then +  if [ "$nss" = "rfc" ];then +    echo gopher://thebackupbox.net:70/0/rfc/rfc${nss2}.txt +  fi +fi + +if [ "$nid" = "xkcd" ];then +  echo "https://xkcd.com/${nss}" +fi + +if [ "$nid" = "fcc" ];then +  if [ "$nss" = "frs" ];then +    grep "^$nss2\s" $PREFIX/share/urn/fcc:frs | cut -f2 +  fi +fi | 
