doc | ||
src | ||
.gitattributes | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE.md | ||
README.md |
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.
Platform Support
This currently only works on UNIX platforms as setuid
and setgid
system
calls are used to drop the privilege level after initialization. Currently
there is no way to disable this. Of course, Gemini's default port (1965) can be
opened in user-mode, but not changing the user after startup would retain read
permissions to the private key.
Starting
Sheldon Director look for a config file in /etc/sheldond.conf
. If you want to
change this, pass an alternative path on startup like so:
An example start can look like this:
sudo ./sheldond -c ./sheldond.conf
An example config file can be found in this repository in doc/sheldond.conf
.
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.