commit 9b33ec113d85e344ec4af4f5271490ba4e96d7a5 from: Omar Polo date: Sat Feb 13 11:11:49 2021 UTC sync with gmid readme commit - 83e5f9b3548470e2185cabdce75b7f12f2143922 commit + 9b33ec113d85e344ec4af4f5271490ba4e96d7a5 blob - 78e1a303e6ef0a3360666290b09024afa1e203b8 blob + 89d900c5b16bedc948e959ca8aced4de8868803e --- resources/pages/gmid.gmi +++ resources/pages/gmid.gmi @@ -1,9 +1,7 @@ # gmid -gmid is a small, almost no-dependencies, gemini server for static content. +gmid is a fast, small, and secure Gemini server. It uses libtls (a GREAT tls library from the OpenBSD folks) to serve static content and execute CGI scripts. -It's a short program that uses libtls (a GREAT tls library from the OpenBSD folks) to serve static content and execute CGI scripts. - => https://git.omarpolo.com/gmid source code => https://github.com/omar-polo/gmid GitHub mirror @@ -16,10 +14,33 @@ or via the github mirror: $ git clone https://github.com/omar-polo/gmid ``` + +## Features + +(random order) + +* reconfiguration: reload the running configuration without interruption +* sandboxed by default on OpenBSD, Linux and FreeBSD +* IRI support (RFC3987) +* punycode support +* dual stack (IPv4 and IPv6) +* automatic certificate generation for config-less mode +* CGI scripts +* (very) low memory footprint +* event-based asynchronous I/O model +* small codebase, easily hackable +* virtual hosts +* per-location rules +* optional directory listings +* configurable mime types +* chroot support + + ## Future plans This is mostly a TODO/wish list of things, just to get an idea of what I'm gonna do (and to remind to myself too). +* per-server (or even per-path?) logging +* different logging styles * listen only on specific IPs -* automatic redirects and errors page * customize error messages