Skip to content

mk270/blizanci

Repository files navigation

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:

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.

About

A Gemini protocol server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published