SMOLNET PORTAL home about changes

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 (https://git.omarpolo.com)
GitHub mirror (https://github.com)


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 (git.omarpolo.com)
Response: 20 (Success), text/gemini
Original URLgemini://ew.srht.site/library/gemini.omarpolo.com/pages/gmid.gmi
Status Code20 (Success)
Content-Typetext/gemini; charset=utf-8