Proxy only
Route TCP and UDP through SOCKS5, direct, or reject rules. TLS stays opaque.
heimdall run -- your-command
Command workflows →
Route a Linux command through an explicit TCP/UDP proxy. Add transparent TLS inspection only when you need request-level evidence.
Bifröst is the route. The arch is the boundary.
Heimdall is a foreground CLI. Nothing stays running after the command exits.
Choose npm, PyPI, Cargo, or a signed release archive.
Allow only the exact native binary's __setup-worker.
Create a policy, validate it, then wrap one command.
# install the CLI
cargo install heimdall-egress --locked
# create and check config
heimdall init
heimdall config validate --json
# route one command
heimdall run -- curl https://example.com
npm i -g heimdall-egress
uv tool install heimdall-egress
cargo install heimdall-egress --locked
All install options →
Routing, capture, and TLS decryption are separate choices.
Route TCP and UDP through SOCKS5, direct, or reject rules. TLS stays opaque.
heimdall run -- your-command
Command workflows →
Opt into runtime or relay inspection. Evidence goes to the same per-run JSONL log.
heimdall logs query \
--run RUN_ID --kind tls.* --jsonl
Capture and decrypt →
heimdall agentheimdall logs summary --run RUN_ID --json | jqThe CLI owns every per-run resource and removes it when the process tree exits.
heimdall runPackages, authorization, upgrade, and rollback.
Open → 02Run, inspect, explain, and automate.
Open → 03Outbounds, policy, capture, and TLS modes.
Open → 04Lifecycle, data path, and security boundaries.
Open → 05Normative guarantees and non-goals.
Open → 06Current Linux support and planned macOS work.
Open →