Awesome
blizanci
Blizanci is a Gemini protocol server. It is designed primarily for robustness and security.
Features:
- TLS client certificate support
- single-user CGI
- distributed PKI: authorisation by subject or issuer of certificates
- Titan protocol uploads
- servlet interface for in-process dynamic page generation
Prerequisites
You'll need Erlang and Rebar. On a Debian-derived system like Ubuntu, this means installing the rebar3 executable from the rebar3 website, and installing the deb package erlang:
- Rebar3 installation instructions
apt-get install erlang
Config
Currently, a config file is required. In due course, this will become optional.
Create an appropriate sys.config
and vm.args
file in the config/
directory in the format suggested in the examples in that directory.
You'll also need to put TLS certificates in ssl/certificate.pem
and
ssl/key.pem
; these locations can be reconfigured, but blizanci will
fail on startup with a badmatch
/ couldnt_open_pem_file
message if
the certificates cannot be read.
Build
$ rebar3 release
Run
$ ./manage.sh start-daemon
Trivia
"blizanci" / "близанци" is Serbo-Croatian for "twins" (i.e., Gemini).
Documentation
A work in progress at https://mk270.github.io/blizanci/.
Status
The source code of Blizanci is largely "finished". There are no plans to add new features.
But software is more than just programs. There is already some documentation of blizanci's internal APIs - eventually a manual will be produced and some installation advice and packaging / tooling.