-- Leo's gemini proxy
-- Connecting to git.thebackupbox.net:1965...
-- Connected
-- Sending request
-- Meta line: 20 text/gemini
repo: uritools action: commit revision: path_from: revision_from: 5edf430271bb6c86fb0c9138aaf8915955fcd637: path_to: revision_to:
commit 5edf430271bb6c86fb0c9138aaf8915955fcd637 Author: epoch <epoch@hacking.allowed.org> Date: Mon Apr 22 23:35:40 2019 -0500 created script "getsrv" to get a single weighted host and port from SRV records diff --git a/getsrv b/getsrv new file mode 100755 index 0000000000000000000000000000000000000000..cb6daeb4c24179a63a8633ed22986784a9b77ac2 --- /dev/null +++ b/getsrv @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +if [ "_$1" = '_-a' ];then + head="uniq" + shift +else + head="head -n1" +fi +record="_$1._$2.$3" +shift 3 +if [ "_$*" != "_" ];then + filter='grep -vF "'"$(printf "%s\n" "$*" | tr ' ' '\n')"'"' +else + filter=cat +fi +if which dig >/dev/null;then + dig +short -t SRV "$record" + echo "after dig" >&2 +elif which host >/dev/null;then + host -t SRV "$record" | cut '-d ' -f5- + echo "after host" >&2 +else + echo "fuck me. how am I supposed to get a srv record without dig or host?" >&2 + exit 1 +fi | grep '^[0-9][0-9]* [0-9][0-9]*' \ + | sort -rn \ + | rev \ + | cut -b2- \ + | rev \ + | awk '{print $1, $2, $4":"$3}' \ + | eval "$filter" \ + | awk '{if(NR==1){D=$1}if(D==$1)print $0}' \ + | cut '-d ' -f2- \ + | awk '{for(i=0;i<=$1;i++) {print $0} }' \ + | cut '-d ' -f2- \ + | shuf \ + | head -n1 \
-----END OF PAGE-----
-- Response ended
-- Page fetched on Sun Jun 2 17:35:39 2024