trillium-cli
A single trillium binary that bundles the most useful pieces of the
trillium.rs web stack into a batteries-included HTTP
toolkit:
serve— a static file server (and drop-in reverse proxy)proxy— a reverse / forward proxy with upstream load-balancing and cachinggateway— a config-driven server combining static files + proxy across one or more listenersclient— a curl-like HTTP client that pretty-prints JSON and follows redirectsbench— a load generator with HDR-histogram latency statisticsdev-server— a watch / rebuild / restart loop with browser live-reload (Unix only)grpc— generate Rust modules from.protoservice definitions
TLS is built in (rustls by default), and with the default h3 feature the
servers also speak HTTP/3 over QUIC. Over TLS the client negotiates HTTP/2
via ALPN; --http-version selects the protocol (HTTP/1.0 through HTTP/3) for
client and bench.
Install
cargo install trillium-cli
This installs a binary named trillium. Run trillium --help, or
trillium <command> --help, for the full option list — these guide pages
cover the common cases and call out the surface that isn't immediately obvious
from --help.
Each subcommand is gated behind a Cargo feature, and the TLS backend is
selectable, so you can build a smaller binary with only what you need (and the
non-default gateway, dev-server, and grpc subcommands are opt-in). See
Installing for the feature matrix and building from source.
Environment variables
Most listening and connection options also read from environment variables —
HOST, PORT, CERT, KEY, FORWARD, UPSTREAM — so flags compose well
with .env files and process managers. Each subcommand page lists the
specific env vars it honors.
License
Licensed under either of MIT or Apache-2.0 at your option.