rc-gemd is a gemini server inspired by rc-httpd.

The scripts expect to be installed under /rc/bin/rc-gemd.

The following script will allow you to test them before installing:
mkdir /tmp/rc-gemd
bind . /tmp/rc-gemd
bind -b /tmp /rc/bin

or one can change the rc_gemd_dir setting in the script.

The service can be started with a combination of listen(8) and tlssrv(8),
tlssrv requires that the tls key be in the hostowners factotum,
this can be done by doing:
cat /lib/ssl/gem.key >> /mnt/factotum/ctl

Then to start the server you can do:
aux/listen1 tcp!*!1965 tlssrv -c /lib/ssl/gem.cert /rc/bin/rc-gemd/rc-gemd

If aux/listen is preferred then the following can be used as a tcp1965:
exec tlssrv -c /lib/ssl/gem.cert /rc/bin/rc-gemd/rc-gemd >>[2]/sys/log/gemini

The tls files can be generated by running the following commands:
mkdir -p /lib/ssl
auth/rsagen -t 'service=tls owner=*' >/lib/ssl/gem.key
auth/rsa2x509 'C=US' gem.key |
	auth/pemencode CERTIFICATE >/lib/ssl/gem.cert
Last 5 commits (shortlog)
Date Author Short message Commit hash
2021-05-17 Jacob path name should be cleaned, prevents $fs_root escape 8b3ea55d7a984e1241b211036a42ee62392616d5
2021-03-12 Jacob Add note about using aux/listen (thanks sl) a2e3a1a4993a12d21ab28ffc55ebb95d97ac7970
2021-03-12 Jacob Handle .gmi as well as .gem bc47538e495dfe311a86f301bfae581767b47898
2020-08-22 Moody Add option to display folders as pages of links a2cdff91c941cebc075bd5b4421c6634ee15d247
2020-08-20 Moody Remove tlsshim and add proper directions for adding tls key to hostowner's factotum bf0e251a82566f044f228771981a301797e807af
Files (browse)