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 POSIXsystems: gmnisrv.
gemini://drewdevault.com/gmnisrv.gmi
gmnisrv is a high-performance server which requires next to noconfiguration. 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. Itautomatically generates and rotates certificates for you.
The only dependencies are a C11 compiler, a POSIX-like system, andOpenSSL*. It clocks in at about 3,000 lines of code. In the future, Iwould like to add support for some simple URL rewrites and reverse proxysupport.
Development info can be found here:
https://sr.ht/~sircmpwn/gmni/
Enjoy!