| JVM | Platform | Status |
|---|---|---|
| OpenJDK (Temurin) Current | Linux | |
| OpenJDK (Temurin) LTS | Linux | |
| OpenJDK (Temurin) Current | Windows | |
| OpenJDK (Temurin) LTS | Windows |
pallene.jar \
--address a \
--port p \
--chroot c \
--file f \
--group-id g \
--user-id u \
--mime-type m
The pallene.jar command reads the contents of f into memory, opens
a socket s and binds it to address a, port p. It then chroots
to directory c and switches to group ID g and user ID u. Then,
for each client connection k on s, it reads and discards at most
1024 octets from k and then responds with an HTTP HTTP/1.0 200 OK response, serving the contents of f with MIME type m. It then
closes k.
The command does NOT fork into the background; it is designed to run
under a process supervision system and simply aborts with exit code
1 on any error. The command logs the addresses of connecting clients,
but does not log any data or headers the clients send. The command only
works on POSIX-compatible systems.
See the examples directory in this source repository for example
scripts that can, for example, run the server in a memory-restricted
Linux cgroup and run with GC settings optimized for tiny heaps.
