# 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 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