Germinal is a server for the Gemini Protocol that I’ve been writing in Common Lisp during my lunches and some evenings.
It is named after the early 20th century Yiddish-language anarchist newspaper Germinal. I wanted to name it after an anarchist publication to convey the idea of people sharing information and ideas with each other, in contrast to the way the web is used to push advertising from corporations to people. And it happened that Germinal shares some sounds with Gemini.
Features
Current
- Serves any type of document with an appropriate mime type.
- Serves .gmi files as text/gemini, the gemini mapfile format.
- Serves index.gml as a directory listing, if it exists
- Serves a simple directory listing for directories without index.gml
- Serves only world-readable content, much like Gophernicus.
Planned
- Configuration by environment variables, command-line, or config file
- Keep up to date with protocol changes
Maybe
- authentication by client certificate
Download
The source is currently available on Github, though I hope to move my projects onto a self-hosted forge at some point.
Live server
I am also running Germinal, and I believe the server I’m running it on is the world’s third Gemini server. There’s not much now, but I plan to add more gradually and continue discussing Germinal development there.