httpjet is an experimental Linux web server written in Rust. It reads
LiteSpeed-compatible XML, speaks LSAPI to lsphp, and supports H1/H2/H3, TLS,
static files, proxying, rewrites, compression, and an opt-in page cache.
It is early-stage software. Test on alternate ports before using it in a production environment.
Learn more—or at least enjoy the animation—at httpjet.net.
Requires Linux with io_uring and Rust 1.97+.
git clone https://github.com/faratech/httpjet.git
cd httpjet
cargo build --release -p httpjet
target/release/httpjet --root "$PWD/examples/litespeed" check --strict
target/release/httpjet --root "$PWD/examples/litespeed" serve \
--http-addr 127.0.0.1:8080 --https-addr "" --workers 1 --no-php
curl -H 'Host: example.test' http://127.0.0.1:8080/Use --root with an existing LiteSpeed configuration tree. Run
httpjet serve --help for runtime options.
Before adopting it, review the current capability matrix and operational
limits, configuration
examples, and LiteSpeed migration
guide. Compatibility is limited to the
implemented/tested directive and protocol surface; check --strict warnings
must be reviewed rather than treated as parity.
Optional Brotli/zstd uploads use the bounded, transport-independent request decompression policy; gzip retains its existing default behavior.
Short-TTL origin caching is supported today. The missing reusable route-policy controls and their isolated executable proof are documented in the microcache policy requirements.
.htaccess response-header operations are intentionally a subset of Apache
mod_headers; the exact supported and ignored forms are pinned in the
header-directive compatibility inventory.
A hardened, non-root OCI example documents the required writable mounts, separate TCP/UDP publication for HTTP/3, io_uring runtime requirements, and its non-privileged smoke gate.
Optional certificate automation is available with --features acme and
explicit runtime opt-in. See
HTTP-01 and DNS-01/wildcard configuration; it is disabled by
default and does not replace existing certbot configuration automatically.
Optional OCSP stapling uses --features ocsp and an
explicit responder URL. It is for compatible certificate authorities, not
current Let's Encrypt certificates (whose issuer retired OCSP).
The httpjet binary is under crates/httpjet; reusable components are the
hj-* crates.
cargo fmt --all --check
cargo check -p httpjet --bin httpjet
cargo test --workspaceSee CONTRIBUTING.md, SECURITY.md, and THIRD_PARTY_NOTICES.md.
Donations support maintenance only; they do not buy features or influence. Funding links will appear in GitHub's Sponsor button when enabled.
httpjet is GPL-3.0-only, with no paid edition or license key. It is independent of and not endorsed by LiteSpeed Technologies.