Getting the CLI onto your machine
Two programs are released together and they run on two different machines:
mikroscope, the CLI and collector, runs on your computer — the laptop or server you type commands on. This page is about that one.mikroscope-agentruns on the router, inside a container.mikroscope installputs it there for you; you never run it yourself, and the only time you download it by hand is the--agent-tarroute.
So the archive you want here is picked by your operating system and CPU, not by the router’s. The router’s architecture decides something else, and What the router needs has that table.
Which archive
Section titled “Which archive”| Your machine | Download |
|---|---|
| Linux, ordinary PC or server | mikroscope_ |
| Linux on ARM (Raspberry Pi 4/5, …) | mikroscope_ |
| macOS, Apple silicon (M1 and later) | mikroscope_ |
| macOS, Intel | mikroscope_ |
| Windows | mikroscope_ |
Scroll sideways to see every column
They are on the latest release.
Anything whose name starts with mikroscope-agent is the other program.
Install it
Section titled “Install it”-
Download the archive and the checksums:
Terminal window VERSION=1.0.4curl -fsSLO https://github.com/jmrplens/mikroscope/releases/download/v$VERSION/mikroscope_${VERSION}_linux_x86_64.tar.gzcurl -fsSLO https://github.com/jmrplens/mikroscope/releases/download/v$VERSION/checksums.txt -
Check it against the list before unpacking it:
Terminal window sha256sum --ignore-missing -c checksums.txt -
Unpack and put it where the shell looks:
Terminal window tar xzf mikroscope_${VERSION}_linux_x86_64.tar.gz mikroscopesudo install -m 0755 mikroscope /usr/local/bin/mikroscopeWithout
sudo,mkdir -p ~/.local/bin && install -m 0755 mikroscope ~/.local/bin/works as well, as long as~/.local/binis on yourPATH.
-
Download the archive for your CPU —
darwin_arm64for Apple silicon,darwin_x86_64for Intel — and the checksums:Terminal window VERSION=1.0.4curl -fsSLO https://github.com/jmrplens/mikroscope/releases/download/v$VERSION/mikroscope_${VERSION}_darwin_arm64.tar.gzcurl -fsSLO https://github.com/jmrplens/mikroscope/releases/download/v$VERSION/checksums.txt -
Check it:
Terminal window shasum -a 256 --ignore-missing -c checksums.txt -
Unpack, clear the quarantine flag the download put on it, and install it:
Terminal window tar xzf mikroscope_${VERSION}_darwin_arm64.tar.gz mikroscopexattr -d com.apple.quarantine mikroscope 2>/dev/null || truesudo install -m 0755 mikroscope /usr/local/bin/mikroscopeThe binary is not signed or notarized, so without that
xattrline macOS refuses to run it and says it “cannot be opened because the developer cannot be verified”.
-
Download
mikroscope_and<version>_ windows_ x86_ 64. zip checksums.txtfrom the release page. -
Check it in PowerShell, against the line for your file in
checksums.txt:Terminal window Get-FileHash .\mikroscope_1.0.4_windows_x86_64.zip -Algorithm SHA256 -
Unpack it somewhere permanent and put that folder on your
PATH:Terminal window Expand-Archive .\mikroscope_1.0.4_windows_x86_64.zip -DestinationPath $HOME\mikroscope$env:PATH += ";$HOME\mikroscope"That line lasts for the session. To keep it, add the folder in Settings → System → About → Advanced system settings → Environment Variables, or:
Terminal window [Environment]::SetEnvironmentVariable("PATH", "$env:PATH;$HOME\mikroscope", "User")
If you have Go 1.27 or later and would rather build it:
go install github.com/jmrplens/mikroscope/cmd/mikroscope@latestThat puts mikroscope in $(go env GOPATH)/bin, which is ~/go/bin unless
you moved it, and that directory has to be on your PATH. A binary built this
way reports the module version rather than a release stamp.
A checkout builds both programs at once, which is the contributor’s route:
git clone https://github.com/jmrplens/mikroscopecd mikroscopemake build # leaves bin/mikroscope and bin/mikroscope-agentCheck it
Section titled “Check it”mikroscope versionIt prints the version, the commit and the build date. Then, with a router to point at:
mikroscope doctor --router user@192.168.88.1doctor writes nothing. It reads the device, prints what it is, and marks each
prerequisite ok or MISSING with the command that fixes it — including the
one nobody can do remotely. That is the first thing to run, before any install
route.