The Common Gateway Interface for Gemini The Common Gateway Interface can easily be adapted for the new Gemini protocol. In fact, the document you are reading right now is genreated from a program via the Common Gateway INterface, aka CGI. The specification for CGI, RFC-3875, is pretty straightforward, and if you strip out the HTTP specific bits, it was rather easy to implement. CGI Environment Variables GATEWAY_INTERFACE=CGI/1.1 GEMINI_DOCUMENT_ROOT=/home/spc/projects/gemini/non-checkin/gemini.conman.org GEMINI_SCRIPT_FILENAME=/home/spc/projects/gemini/non-checkin/gemini.conman.org/cgi GEMINI_URL=gemini://gemini.conman.org/cgi/test GEMINI_URL_PATH=/cgi/test LANG=en_US.UTF-8 LC_COLLATE=C PATH=/usr/local/bin:/usr/bin:/bin PATH_INFO=/test PATH_TRANSLATED=/home/spc/projects/gemini/non-checkin/gemini.conman.org/test QUERY_STRING= REMOTE_ADDR=104.207.150.107 REMOTE_HOST=104.207.150.107 REQUEST_METHOD= SCRIPT_NAME=/cgi SERVER_NAME=gemini.conman.org SERVER_PORT=1965 SERVER_PROTOCOL=GEMINI SERVER_SOFTWARE=GLV-1.12556/1 CGI Argument List lua /home/spc/projects/gemini/non-checkin/gemini.conman.org/cgi