Tech Specs / Setup

Setup: one binary, zero dependencies

ProbeScope ships as a single statically-linked binary — no runtime, no package manager, no dependencies to install. Download it, run it.

./probescope run --hosts google.com,1.1.1.1

That's a complete, working install. Requires elevated privileges (or Linux CAP_NET_RAW) for privileged ICMP; without it, ProbeScope automatically falls back to unprivileged ICMP, then TCP — see the detection topic.

Cross-platform

Cross-compiled for six targets: macOS (amd64/arm64), Linux (amd64/arm64), and Windows (amd64/arm64). The embedded SQLite storage needs no C toolchain to cross-compile, which is what keeps all six targets buildable from one pipeline.

probescope init — recreate the examples anytime

Sample configuration and plugin files are baked directly into the binary, so recreating them never needs a separate download:

probescope init --config    # writes ./probescope-config.yaml
probescope init --plugin    # writes ./plugins/host_down.star + ./plugins/examples/
probescope init --all       # both

Config files: save a monitoring profile, replay it instantly

Any set of flags can be captured in a YAML config file and reused with --config:

probescope run --config probescope-config.yaml

Settings resolve with CLI flag > environment variable > config file > hard default precedence — a config file sets your defaults, a flag on the command line always wins if you need a one-off override. Pressing [s] while ProbeScope is running saves the current live session's settings to probescope-state.yaml, in the exact same format — so a saved session can be replayed directly with --config probescope-state.yaml, no manual editing required.

Related

  • Integrations — the same single binary drops into a CI/CD image or automation environment with no extra install step.
  • Plugins — probescope init --plugin is the fastest path to a first working rule.