Blame


1 14056bb4 2021-10-05 op #!/bin/sh
2 14056bb4 2021-10-05 op
3 14056bb4 2021-10-05 op set -e
4 14056bb4 2021-10-05 op
5 14056bb4 2021-10-05 op CHATFILE="${CHATFILE:-/tmp/lets-chat.log}"
6 14056bb4 2021-10-05 op
7 14056bb4 2021-10-05 op if [ "$GATEWAY_INTERFACE" != "CGI/1.1" ]; then
8 14056bb4 2021-10-05 op echo "not a cgi script?" >&2
9 14056bb4 2021-10-05 op exit 1
10 14056bb4 2021-10-05 op fi
11 14056bb4 2021-10-05 op
12 14056bb4 2021-10-05 op if [ "$SERVER_PROTOCOL" != "GEMINI" ]; then
13 14056bb4 2021-10-05 op echo "not running over gemini?" >&2
14 14056bb4 2021-10-05 op exit 1
15 14056bb4 2021-10-05 op fi
16 14056bb4 2021-10-05 op
17 14056bb4 2021-10-05 op # if [ "$REMOTE_USER" = "" ]; then
18 14056bb4 2021-10-05 op # printf "60 client certificate required\r\n"
19 14056bb4 2021-10-05 op # exit 0
20 14056bb4 2021-10-05 op # fi
21 14056bb4 2021-10-05 op
22 14056bb4 2021-10-05 op if [ "$PATH_INFO" = "" ]; then
23 14056bb4 2021-10-05 op printf "20 text/gemini\r\n"
24 14056bb4 2021-10-05 op echo "# Let's chat over Gemini!"
25 14056bb4 2021-10-05 op echo
26 14056bb4 2021-10-05 op echo "=> $SCRIPT_NAME/post Post a message"
27 14056bb4 2021-10-05 op echo "=> $SCRIPT_NAME/log Follow the conversation"
28 b11fcb80 2021-10-05 op echo
29 b11fcb80 2021-10-05 op echo "=> https://git.omarpolo.com/blog/tree/resources/cgi/lets-chat source"
30 14056bb4 2021-10-05 op exit 0
31 14056bb4 2021-10-05 op fi
32 14056bb4 2021-10-05 op
33 14056bb4 2021-10-05 op if [ "$PATH_INFO" = "/post" ]; then
34 14056bb4 2021-10-05 op if [ $# -eq 0 ]; then
35 14056bb4 2021-10-05 op exec printf "10 message to send: \r\n"
36 14056bb4 2021-10-05 op else
37 14056bb4 2021-10-05 op now="$(date '+%Y-%m-%d %H:%M')"
38 14056bb4 2021-10-05 op user="${REMOTE_USER##*/CN=}"
39 14056bb4 2021-10-05 op user="${user%%/*}"
40 14056bb4 2021-10-05 op echo "$now ${user:-anon}: $@" >> "${CHATFILE}"
41 14056bb4 2021-10-05 op exec printf "30 $SCRIPT_NAME\r\n"
42 14056bb4 2021-10-05 op fi
43 14056bb4 2021-10-05 op fi
44 14056bb4 2021-10-05 op
45 14056bb4 2021-10-05 op if [ "$PATH_INFO" = "/log" ]; then
46 14056bb4 2021-10-05 op printf "20 text/gemini\r\n"
47 14056bb4 2021-10-05 op exec tail -f "${CHATFILE}"
48 14056bb4 2021-10-05 op fi
49 14056bb4 2021-10-05 op
50 14056bb4 2021-10-05 op exec printf "51 not found\r\n"