diff options
author | the xhr <xhr@giessen.ccc.de> | 2021-08-24 21:22:29 +0200 |
---|---|---|
committer | the xhr <xhr@giessen.ccc.de> | 2021-08-24 21:22:29 +0200 |
commit | f224a3fe688bf2ae4c108d6b4359df4d8f03db99 (patch) | |
tree | 1d9d6fdce5671be7ae5754f51c6ef5b47bf7f0c1 /README | |
parent | 0f9f2d04f9c340c761a9c900fac1c225b5a05419 (diff) |
Initial commit of twind - a small and simple gemini daemon
Diffstat (limited to 'README')
-rw-r--r-- | README | 64 |
1 files changed, 64 insertions, 0 deletions
@@ -0,0 +1,64 @@ +twind +===== + +twind is a simple daemon serving static files over the gemini protocol. It is +intended to have as few knobs as possible and has no support for a +configuration file. + +Installation +------------ + +twind is written in plain C and you need to have the following software +installed: + +* A C compiler (tested with clang and GCC) +* LibreSSL or OpenSSL +* POSIX compatible libc with pthreads support +* make (both BSD and GNU make will work) + +twind needs a dedicated user called '_twind' and directory to run. The +Makefile contains a command to create the user. Note that you shall not change +the user's name and the directory twind needs! + +$ make +# make install +# make user + +TLS certificates +---------------- + +twind expects to find a X509 certificate and a corresponding private key +under the following locations (which cannot be changed): + +* /etc/twind/twind.cert.pem +* /etc/twind/twind.key.pem + +Either copy your existing keys to these locations or generate a new key and +certificate via the Makefile. Note that the command overwrites any existing +key without warning! To generate both key and certificate use the following +command and provide the hostname via the HN variable. If you don't provide the +hostname the command will fail! + +# make setuptls HN=example.com + +Usage +----- + +twind has support for virtual hosts. If your gemini server is called +example.com you have to create a dedicated sub directory under /var/twind: + +# cd /var/twind +# mkdir example.com +# <copy files into the example.com directory> + +In case your server is also reachable via gemini.example.com and you want to +serve the same content as on example.com you can create a symlink. In case you +want to serve different content, you have to create a dedicated sub directory. + +twind needs root permissions to start and will drop its privileges as soon as +possible. It will also chroot to /var/twind. + +# twind + +For debugging purposes, you can start twind with -df option so that debugging +and running in the foreground is enabled. |