[tech] Doppio: Gemini server in Java

Sean Conner sean at conman.org
Sun Jan 3 03:43:17 GMT 2021


It was thus said that the Great Bill Havanki once stated:
> Greetings,
> 
> I’d like to announce my own take on a Gemini server implementation, which
> I’ve named Doppio.
> 
> https://github.com/bhavanki/doppio/

  Cool!

> I implemented it in Java as a fun side coding project, but I hope it’s
> useful for others. It supports the usual good stuff:
> 
> * static files, including finding index files
> * CGI with most meta-variables from RFC 3875, plus a bunch from Apache
>   mod_ssl

  For CGI support, I set the REQUEST_METHOD to "" (since RFC-3875 madates
it---others have set it to "GET"), and instead of the Apache variables for
TLS, I used:

        TLS_CIPHER
        TLS_VERSION
        TLS_CLIENT_HASH
        TLS_CLIENT_ISSUER
        TLS_CLIENT_SUBJECT
        TLS_CLIENT_NOT_BEFORE
        TLS_CLIENT_NOT_AFTER
        TLS_CLIENT_REMAIN

and I think others that support CGI have done similar.  I like that you used
"Certificate" for AUTH_TYPE (as I have done) and the subject name for
REMOTE_USER (as most others have done).  I also added the following:

	GEMINI_DOCUMENT_ROOT
	GEMINI_SCRIPT_FILENAME
	GEMINI_URL_PATH
	GEMINI_URL

and again, some others support some of the above.  Sadly, the CGI
discussions seem to die out quickly on this list.

  Anyway, nice job.

  -spc



More information about the Gemini mailing list