godlighty is free software highly-customizable HTTP, HTTP/2, HTTPS server written on pure Go. Why yet another web-server? Because all others suck even for my simple ordinary needs: they use hateful OpenSSL, lack documentation, has complex configuration format, lack some features, hard to extend with. * Pretty minimalistic pure-Go web-server with few number of dependencies, producing single statically linked executable. Maximal reuse of native libraries capabilities. * Modern, reliable, secure and fast TLS 1.3 implementation with ChaCha20-Poly1305, hybrid PQ/T KEM, session resumption and SNI (depends on Go version you are using). * If built with gostls13, then GOST TLS 1.3 cryptography will be fully supported, with ability to use GOST-based X.509 certificates if client announces its knowledge of GOST algorithms (with the fallback to ordinary ECDSA/EdDSA ones). => gostls13 => GOST * HTTP/1.1, HTTP/2 (optionally, only when negotiated during ALPN) and keepalives support. Graceful shutdowns. * gzip and Zstandard compression on-the-fly. * Range, ETag (based on file/directory's mtime), Last-Modified and corresponding precondition handlers are fully used. * Auto-generated directory listings and read-only WebDAV support. * Per-domain HTTP basic authorization and TLS client authentication. * If corresponding .meta4 files are found, it is parsed and additional Links with Digests headers are generated automatically, based on that Metalink file. => Metalink * Friendly to daemontools. Can drop (UID, GID, groups) privileges. => http://cr.yp.to/daemontools.html Basically all configuration is done directly inside source code. You have to recompile it every time configuration changes. Is it a problem? I doubt, because Go is very fast. But it produces huge statically linked executables, you say! Use either bsdiff/bspatch or zstd --patch-from! It is created exclusively to drive my own websites, but if you are interested, then git clone git://git.stargrave.org/godlighty.git [Configuration] [Usage]