summaryrefslogtreecommitdiff
path: root/log-211006-1.gmi
diff options
context:
space:
mode:
authortslil clingman <>2021-10-06 08:51:06 -0400
committertslil clingman <>2021-10-06 09:16:55 -0400
commitd76c3fd4d057f31d5767cc45d980b87ffff9de33 (patch)
tree0330b370dae4c55ea002831e0adbc97a6ce5db7d /log-211006-1.gmi
parent77964f239c4f22197da101e2db6f43689705c4ea (diff)
Fixes to Tak CGI
Diffstat (limited to 'log-211006-1.gmi')
-rw-r--r--log-211006-1.gmi19
1 files changed, 11 insertions, 8 deletions
diff --git a/log-211006-1.gmi b/log-211006-1.gmi
index 5849d6f..81daed1 100644
--- a/log-211006-1.gmi
+++ b/log-211006-1.gmi
@@ -1,4 +1,4 @@
-Time-stamp: <2021-10-06 02h58 UTC>
+Time-stamp: <2021-10-06 13h16 UTC>
# Play Tak against a bot over Gemini!
@@ -6,30 +6,33 @@ The title says it all! I had all the pieces lying about and so finally decided t
=> gemini://l-3.space/tak.gmi The Tak portal
-At present i've attempted to limit the server to running 10 instances of the bot at once, but i'm not sure that that will work correctly. I'm also not sure i've defeated shell escapes here---please let me know⁰ how to improve on this! Here's the entire CGI script, all 24 lines of it.
+At present i've attempted to limit the server to running 10 instances of the bot at once, but i'm not sure that that will work correctly. I'm also not sure i've defeated shell escapes here---please let me know⁰ how to improve on this! Here's the entire CGI script, all 27 lines of it.
```CGI script for Tak
#!/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} | 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;
+ new_ptn=${new_ptn//>/R}; new_ptn=${new_ptn//</L};
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 'Note: all input is stripped to match only [abcde12345CFW+-<>].'
else
printf "10 Enter ply:\r\n"
fi;