Files
gemserv/README
2020-05-26 17:31:28 -04:00

59 lines
1.3 KiB
Plaintext

# Gemserv
A gemini server written in rust.
## Features
- Vhosts
- CGI
- User directories
- Reverse proxy
- Redirect
## Installation and running
OpenSSL 1.1.0g or LibreSSL 2.7.0 or newer is required.
- Clone the repo
- Run 'cargo build --release'
- Modify the config.toml to your needs
- Run './target/release/gemserv config.toml'
### NetBSD
If running on NetBSD you'll need to set the environmental variable OPENSSL_DIR
before compiling.
'export OPENSSL_DIR="/usr/pkg"'
Also to run you'll need to symlink libssl, and libcrypt to "/usr/lib" by
running:
'ln -s /usr/pkg/lib/libssl.so.1.1 /usr/lib'
'ln -s /usr/pkg/lib/libcrypt.so.1.1 /usr/lib'
Thanks to tiwesdaeg for figuring it out.
## CGI Environments
In the configuration file there's "cgi" which is an optional bool to turn cgi
on. If it's true it'll run scripts from any directory. To limit it to only one
directory set "cgipath"
If "cgi" is false or not set the server with respond "Not Found" to any
executable file.
Scripts have 5 seconds to complete or they will be terminated.
These variables are preset for you. If you need more you can define them in the
config file under "cgienv"
- GEMINI_URL
- SERVER_NAME
- SERVER_PROTOCOL
- SERVER_SOFTWARE
- SCRIPT_NAME
- REMOTE_ADDR
- REMOTE_HOST
- REMOTE_PORT
- QUERY_STRING