Install scripts
The canonical non-interactive installers, served at the permanent URLs:
-
Linux: https://sabermage.github.io/spt-releases/install.sh
curl -fsSL https://sabermage.github.io/spt-releases/install.sh | sh -
Windows: https://sabermage.github.io/spt-releases/install.ps1
irm https://sabermage.github.io/spt-releases/install.ps1 | iex
What they do
- Resolve the latest release (or
SPT_INSTALL_VERSION). - Download the platform binary and the release’s
SHA256SUMS. - Verify the sha256 — a mismatch refuses before anything is placed.
- Place the binary under the per-OS install root (
~/.local/bin/%LOCALAPPDATA%\spt\bin). - Register the user PATH (at most once; idempotent re-runs).
- Print the absolute installed path — on Windows the PATH change reaches new terminals only, so the first invocation in the current one uses that absolute path.
They never prompt (non-interactive by construction — they double as every adapter’s pack-in installer), and re-running is always safe.
Environment knobs
| Env var | Meaning |
|---|---|
SPT_INSTALL_VERSION | Pin a release tag (default: latest) |
SPT_INSTALL_DIR | Override the install directory |
SPT_INSTALL_REPO | Override the source repo (default SaberMage/spt-releases) |
SPT_INSTALL_ASSET_BASE | URL or local dir holding assets + SHA256SUMS directly (CI / air-gap / mirrors) |
SPT_INSTALL_NO_PATH | 1 = skip PATH registration |
Trust model
First fetch: HTTPS + GitHub + sha256 against the release’s SHA256SUMS.
Thereafter spt update performs full Ed25519 verification against the
two-key trust anchor embedded
in the binary. MIT-licensed — copy them into your own bootstrap freely.
OS-service registration
Not yet: the daemon auto-starts on any spt invocation, which covers
dev-stage use. Known gap until then: after a reboot, a node is unreachable
until something on it invokes spt. Service registration ships in a later
release.