No description
Find a file
2020-05-17 13:03:27 +02:00
doc initial commit 2020-05-14 21:49:38 +02:00
src mime type handling and setuid/setgid support 2020-05-17 12:54:10 +02:00
.gitattributes initial commit 2020-05-14 21:49:38 +02:00
.gitignore initial commit 2020-05-14 21:49:38 +02:00
Cargo.lock mime type handling and setuid/setgid support 2020-05-17 12:54:10 +02:00
Cargo.toml mime type handling and setuid/setgid support 2020-05-17 12:54:10 +02:00
LICENSE.md initial commit 2020-05-14 21:49:38 +02:00
README.md update readme 2020-05-17 13:03:27 +02:00

Sheldon Director

A Gemini Server written in Rust.

Features

This can't do much right now besides hosting some static files. In fact, the feature set happens to be limited to what I need to host my own gemini page. Coincidence?

More is to come however. Specifically I'd want to add CGI support. And maybe reverse proxy support as well, depending on how much stuff I'll be hosting over Gemini.

Starting

Right now every relevant option needs to be given through command line parameters. Though handling of a configuration file is a feature I'll add later on.

An example start can look like this:

sudo ./sheldond -l "[::]:1965" -l "0.0.0.0:1965" -d "klockenschooster.de" -g /var/gemini/ --user gem-data --group gem-data

This serves the content of the folder /var/gemini/ over both IPv4 and IPv6 on port 1965 on the domain klockenschooster.de. After opening the socket and reading the certificates the server sets its user and group id to the respective values for gem-data.

Why "Sheldon Director"?

Because it is the real name of that villain in Kim Possible who went by the pseudonym "Gemini". (https://kimpossible.fandom.com/wiki/Gemini)

Though you are free to imagine the shortened name stands for Sheldon Daemon. But in that case you'll have to come up with your own explanation.