💾 Archived View for gemi.dev › gemini-mailing-list › 000599.gmi captured on 2023-12-28 at 15:49:48. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-11-04)
-=-=-=-=-=-=-
Greetings, I?d like to announce my own take on a Gemini server implementation, which I?ve named Doppio. https://github.com/bhavanki/doppio/ 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:
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
Thank you kindly! I went ahead and switched Doppio over to using the TLS_* meta-variables that you listed. It makes sense to prioritize interop among Gemini servers than between Gemini and Apache httpd. I did leave support for the mod_ssl variables in there, but disabled by default. Maybe they?ll go away completely, some day. I also tossed in TLS_CLIENT_VERSION, TLS_CLIENT_SERIAL, and TLS_SESSION_ID for parity with what I?d already done with the mod_ssl stuff. They seem reasonable. I?ll take a look at the GEMINI_* meta-variables next. They seem pretty straightforward. Thanks for the feedback! Bill
---
Previous Thread: [users] Lightweight markup language
Next Thread: [ANN] [Tech] Agunua, yet another Python library to develop Gemini clients