Castor is a gemini-protocol server.
Go to file
2020-09-14 16:38:45 -04:00
.gitignore ignore generated files 2020-09-12 18:09:40 -04:00
go.mod remove certmagic; gemini's TOFU model doesn't benefit from short-lived certs 2020-09-14 16:38:45 -04:00
go.sum remove certmagic; gemini's TOFU model doesn't benefit from short-lived certs 2020-09-14 16:38:45 -04:00
logger.go remove certmagic; gemini's TOFU model doesn't benefit from short-lived certs 2020-09-14 16:38:45 -04:00
main.go remove certmagic; gemini's TOFU model doesn't benefit from short-lived certs 2020-09-14 16:38:45 -04:00
README.md initial work in progress 2020-09-12 16:30:41 -04:00

Castor

Castor is a lightweight but full-featured gemini server, focused on ease of setup and use.

It uses caddy's certmagic library to generate valid TLS certificates automatically on port 80, then reuses them on port 1965 for gemini connections. Alternatively, administators can supply their own certificates.

Servers are configured using Castorfiles, analogous to Caddyfiles or nginx configurations. Various handlers can be defined:

  • static file serving
  • proxying to other applications
  • hard-coded responses

Castorfiles also support client cert requirements; lists of client certificate hashes can be provided for authentication, or simply as session-management (hashes being passed off to a backend server for mapping to a user identity).

Name

Castor is the second-brightest object in the zodiac constellation of Gemini and one of the brightest stars in the night sky, as well as one of a pair of twin half-brothers, along with his brother Pollux.