FISE
File server over HTTP, written in C.

One event loop
Connections are handled with epoll, so a single process keeps thousands of concurrent uploads and downloads moving without a thread per client.
Signed, not stored
Uploads need a JWT signed with Ed25519, deletes need one whose payload says admin: true. The server only holds the public key, in /etc/fise/pubkey; leave it empty and authentication switches off.
Resumable by default
Downloads honour HTTP Range requests and answer 206 Partial Content, so a dropped transfer picks up where it stopped. Uploads go up to 15 GB.
Small enough to forget
The whole server compiles to about 44 KB and ships with a Dockerfile and a Compose file. FISE Web, written in Vue, puts a dashboard on top of the same API.
