[ANN] gmnisrv: a Gemini server for POSIX systems

Drew DeVault sir at cmpwn.com
Sat Sep 26 23:21:57 BST 2020


As promised, I have implemented a Gemini server in C11 for POSIX
systems: gmnisrv.

gemini://drewdevault.com/gmnisrv.gmi

gmnisrv is a high-performance server which requires next to no
configuration. You just write a file like this:

	listen=0.0.0.0:1965 [::]:1965

	[:tls]
	store=/var/lib/gemini/certs
	organization=gmnisrv user

	[example.org]
	root=/srv/gemini/example.org

	[example.com]
	root=/srv/gemini/example.com

Stick it in /etc/gmnisrv.ini, start the daemon, and you're done. It
automatically generates and rotates certificates for you.

The only dependencies are a C11 compiler, a POSIX-like system, and
OpenSSL*. It clocks in at about 3,000 lines of code. In the future, I
would like to add support for some simple URL rewrites and reverse proxy
support.

* I actually mean OpenSSL when I say it, not LibreSSL or GNUTLS or
  anything else.

Development info can be found here:

https://sr.ht/~sircmpwn/gmni/

Enjoy!


More information about the Gemini mailing list