yumh
Writing about things, sometimes
Home
All Tags
Projects
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.
source code
GitHub mirror
You can fetch the code with git:
git clone https://git.omarpolo.com/gmid
or via the github mirror:
git clone https://github.com/omar-polo/gmid
The manpage is available at
gmid(1)
Features
(random order)
- reconfiguration: reload the running configuration without
- interruption
- sandboxed by default on OpenBSD, Linux and FreeBSD
- automatic redirect/error pages (see `block return`)
- IRI support (RFC3987)
- punycode support
- dual stack (IPv4 and IPv6)
- automatic certificate generation for config-less mode
- CGI scripts
- 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
- customize error messages
-- text: CC-BY-SA-4.0; code: public domain unless specified otherwise
For comments, write at < blog at omarpolo dot com > or @yumh@pleroma.libretux.com in the fediverse.
Capsule proudly assembled with Clojure