Blob


1 #!/bin/sh
3 printf "20 text/plain; lang=en\r\n"
5 cat <<EOF
6 The Common Gateway Interface for Gemini
8 It really seems that the Common Gateway Interface (CGI, RFC-3875)
9 can be adapted for the Gemini protocol easily!
11 This is a test page for the CGI implementation in gmid[0], a small
12 and secure Gemini server. When in doubt, I'm trying to follow the
13 GLV-1.12556[1] behaviour. Sean Conner provides a similar page at [2].
16 CGI Environment Variables
18 <unspec> means "not set".
20 EOF
22 echo GATEWAY_INTERFACE=$GATEWAY_INTERFACE
23 echo GEMINI_DOCUMENT_ROOT=$GEMINI_DOCUMENT_ROOT
24 echo GEMINI_SCRIPT_FILENAME=$GEMINI_SCRIPT_FILENAME
25 echo GEMINI_URL=$GEMINI_URL
26 echo GEMINI_URL_PATH=$GEMINI_URL_PATH
27 echo PWD=$PWD
28 echo PATH_INFO=${PATH_INFO:-"<unspec>"}
29 echo PATH_TRANSLATED=${PATH_TRANSLATED:-"<unspec>"}
30 echo QUERY_STRING=$QUERY_STRING
31 echo REMOTE_ADDR=$REMOTE_ADDR
32 echo REMOTE_HOST=$REMOTE_HOST
33 echo REQUEST_METHOD=$REQUEST_METHOD
34 echo SCRIPT_NAME=$SCRIPT_NAME
35 echo SERVER_NAME=$SERVER_NAME
36 echo SERVER_PORT=$SERVER_PORT
37 echo SERVER_PROTOCOL=$SERVER_PROTOCOL
38 echo SERVER_SOFTWARE=$SERVER_SOFTWARE
39 echo AUTH_TYPE=$AUTH_TYPE
40 echo REMOTE_USER=$REMOTE_USER
41 echo TLS_CLIENT_ISSUER=$TLS_CLIENT_ISSUER
42 echo TLS_CLIENT_HASH=$TLS_CLIENT_HASH
43 echo
44 echo
45 echo " CGI Argument List"
46 echo
47 echo "- $0"
48 for i in "$@"; do
49 echo "- $i"
50 done
52 cat <<EOF
55 notes
57 [0]: https://github.com/omar-polo/gmid
58 [1]: https://github.com/spc476/GLV-1.12556
59 [2]: gemini://gemini.conman.org/cgi
60 EOF