From d76c3fd4d057f31d5767cc45d980b87ffff9de33 Mon Sep 17 00:00:00 2001 From: tslil clingman <> Date: Wed, 6 Oct 2021 08:51:06 -0400 Subject: Fixes to Tak CGI --- tak | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'tak') diff --git a/tak b/tak index 62ff252..9121cdb 100755 --- a/tak +++ b/tak @@ -1,24 +1,26 @@ #!/bin/bash META="text/gemini; charset=utf-8" -input="${QUERY_STRING//[^abcde12345CFW]/}" +input="${QUERY_STRING//[^abcde12345CFW+-><]/}" if [ -n "$input" ]; then - new_ptn="${PATH_INFO//[^abcde12345CFW.]/}" + new_ptn="${PATH_INFO//[^abcde12345CFW.+-LR]/}" + new_ptn=$(echo ${new_ptn@Q} | tr 'LR' '<>') printf '20 %s\r\n' "$META" printf '```\n' while [ "$(pgrep geminict | wc -l)" > "10" ]; do - sleep 0.25s; + sleep 0.5s; done - output="$(geminict "$new_ptn$input.")" + attempt_ptn="$new_ptn$input." + output=$(geminict ${attempt_ptn@Q}) if [ "$?" == "0" ]; then ct1986=$(echo "$output" | awk '/ct1986 says:/ {print $3}') - new_ptn="$new_ptn$input.$ct1986." + new_ptn="$attempt_ptn.$ct1986." fi; printf '%s\n' "$output" printf '```\n' echo 'Please be patient, ct1986 is a slow bot and no more than 10 instances are allowed concurrently on the server.' - echo "=> gemini://l-3.space/tak/$new_ptn/ Enter ply" - echo 'Note: all input is stripped to match only [abcde12345CFW].' + echo "=> gemini://l-3.space/tak/$(echo ${new_ptn@Q} | tr '<>' 'LR')/ Enter ply" + echo 'Note: all input is stripped to match only [abcde12345CFW+-<>].' else printf "10 Enter ply:\r\n" fi; -- cgit v1.3.1