Lindenii Project Forge
Login

kestrel

Bare-bones HTTP server in Hare

ssh://forge.lindenii.org/kestrel/-/repos/kestrel

5ef55a34 — Runxi Yu 2025-09-21 14:07:20
Update README on the os::dirfs_clone bug
ebb6c377 — Runxi Yu 2025-09-19 05:00:33
Get performance section
d2428d00 — Runxi Yu 2025-09-19 04:52:08
Update README status

kestrel — Bare-bones HTTP server in Hare

A bare-bones HTTP server, written in Hare.

File serving should work now; but there are various issues with ev::http that causes segfaults when reverse proxying...

Inspired by kimchi.

Configuration

Configuration uses a simple text file:

listen :: 8080
vhost example.org fs /srv/http
vhost example.com proxy http://localhost:8080

Performance

This is presently about 10 times slower than the default Go HTTP server, and about 2 times faster than the default Python HTTP server.

Dependencies

Contributing

Create a branch that begins with contrib/ and push to the main repo via SSH directly.

git clone ssh://forge.lindenii.org/kestrel/:/repos/kestrel/
cd kestrel
git checkout -b contrib/whatever
# edit and commit stuff
git push -u origin HEAD

Bugs

Support

#chat on irc.runxiyu.org.