---
title: Welcome
slug: /
---
# trillium-cli
A single `trillium` binary that bundles the most useful pieces of the
[trillium.rs](https://trillium.rs) web stack into a batteries-included HTTP
toolkit:
- **[`serve`](./serve)** — a static file server (and drop-in reverse proxy)
- **[`proxy`](./proxy)** — a reverse / forward proxy with upstream
load-balancing and caching
- **[`gateway`](./gateway/overview)** — a config-driven server combining static
files + proxy across one or more listeners
- **[`client`](./client)** — a curl-like HTTP client that pretty-prints JSON and
follows redirects
- **[`bench`](./bench)** — a load generator with HDR-histogram latency statistics
- **[`dev-server`](./dev-server)** — a watch / rebuild / restart loop with
browser live-reload (Unix only)
- **[`grpc`](./grpc)** — generate Rust modules from `.proto` service 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
```sh
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](./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](https://github.com/trillium-rs/trillium-cli/blob/main/LICENSE-MIT)
or [Apache-2.0](https://github.com/trillium-rs/trillium-cli/blob/main/LICENSE-APACHE)
at your option.