INSTALL · SIGNED RELEASES · REPRODUCIBLE BUILDS

Pick your runtime. One line.

Same protocol across every runtime — the CLI wraps any command, the Python and R packages drop into existing code. No accounts, no config file, no services to run.

Latestreleases
LicenseAGPL-3.0
Signedcosign (Sigstore)
AttestationSLSA v1.0 + SBOM
01Install

Drop in the binary.

Single static binary, ~8 MB, no runtime dependencies. macOS (arm64, x64), Linux (amd64, arm64), Windows (amd64) native. Also available as a Docker image.

macOS / Linux curl -fsSL https://github.com/MuteJester/Fernsicht/releases/latest/download/install.sh | sh
Windows (PowerShell) irm https://github.com/MuteJester/Fernsicht/releases/latest/download/install.ps1 | iex
Homebrew brew tap MuteJester/fernsicht && brew install fernsicht
Scoop scoop bucket add fernsicht https://github.com/MuteJester/scoop-fernsicht; scoop install fernsicht
Docker docker run --rm ghcr.io/mutejester/fernsicht:latest --version

Heads-up: macOS binaries aren't Apple-notarized yet (v0.1.x) — Gatekeeper will warn on the curl path. Use Homebrew to bypass, or run xattr -d com.apple.quarantine after install. Windows SmartScreen may warn on first run; click "Run anyway".

02Verify

Check the version + signalling endpoint.

Confirms the binary is on your PATH and that it can reach the signalling service. fernsicht doctor runs a deeper set of checks (DNS, TLS, TCP, proxy detection).

shell fernsicht --version && fernsicht doctor
 fernsicht 0.1.x  (signalling: https://signal.fernsicht.space, reachable)
03Wrap

Put it in front of any command.

Anything that prints progress becomes observable. fernsicht run -- auto-detects common progress formats (tqdm, bracketed [N/M], N of M, bare percent, step/epoch/iter keywords). For anything custom, emit a __fernsicht__ magic-prefix line — see fernsicht magic.

example fernsicht run -- python train.py --epochs 1200
 https://app.fernsicht.space/#room=abc12345&role=viewer
  share this link — viewers open in any browser, no install
04Options

Flags worth knowing.

Sensible defaults. Reach for flags when you want a custom label, a cap on viewers, or a self-hosted signalling server. Full reference: fernsicht run --help.

label fernsicht run --label "nightly training" -- python train.py
viewer cap fernsicht run --max-viewers 1 -- make build
self-host FERNSICHT_SERVER_URL=https://signal.my.org fernsicht run -- ./sim
Ready

Wrap your first task. The link is in your terminal.

Your very first fernsicht run -- prints a URL like https://app.fernsicht.space/#room=…&role=viewer. Open it on any device to watch live — no install, no account, peer-to-peer after the handshake. Share it with teammates who want to follow along.