Two applications ship from this repository: the command-line tool (bdinfo-rs, released on
v* tags) and the desktop app (bdinfo-rs-gui, released independently on gui-v* tags).
The browser version needs no install at all (bdinfo.hyperslop.dev).
Every channel below states three things: where the files go, how the install updates, and how to uninstall it.
These update automatically through a package manager and uninstall cleanly:
| OS | Command line | Desktop app |
|---|---|---|
| Windows | winget install agentjp.bdinfo-rs |
winget install agentjp.bdinfo-rs-gui |
| macOS | brew install agentjp/tap/bdinfo-rs |
brew install --cask agentjp/tap/bdinfo-rs-gui |
| Debian / Ubuntu | apt repository | same repository, bdinfo-rs-gui |
| Fedora / RHEL / openSUSE | dnf repository | same repository, bdinfo-rs-gui |
| Arch Linux | AUR bdinfo-rs-bin |
AUR bdinfo-rs-gui-bin |
| Other Linux | install script or Homebrew | AppImage |
| Channel | Platforms | Updates | Uninstall |
|---|---|---|---|
| WinGet | Windows | winget upgrade |
winget uninstall |
| Scoop | Windows | scoop update |
scoop uninstall |
| Homebrew | macOS, Linux | brew upgrade |
brew uninstall |
| apt / dnf repository | Linux | apt / dnf upgrade |
apt / dnf remove |
| AUR | Arch Linux | AUR helper | pacman -R |
| cargo | all | re-run install | cargo uninstall |
| Install script | all | re-run the script | manual (documented below) |
| Prebuilt archive | all | replace the files | delete the files |
| Docker | Linux containers | docker pull |
docker rmi |
| From source | all | git pull + rebuild |
cargo uninstall / delete |
The desktop app has its own section further down, channel by channel.
winget install agentjp.bdinfo-rs- Where it goes — a portable install, no administrator rights: WinGet extracts the release
.zipunder%LOCALAPPDATA%\Microsoft\WinGet\Packages\agentjp.bdinfo-rs__DefaultSource\and exposes thebdinfo-rscommand through a link in%LOCALAPPDATA%\Microsoft\WinGet\Links, a directory WinGet keeps on the userPATH. - Updates —
winget upgrade agentjp.bdinfo-rs(orwinget upgrade --all). New releases are submitted to the WinGet community repository automatically. - Uninstall —
winget uninstall agentjp.bdinfo-rsremoves the package directory and thePATHlink.
scoop bucket add agentjp https://github.com/agentjp/scoop-bucket
scoop install bdinfo-rs- Where it goes —
%USERPROFILE%\scoop\apps\bdinfo-rs\<version>\, with acurrentjunction and abdinfo-rsshim in%USERPROFILE%\scoop\shims(on the userPATH). - Updates —
scoop update bdinfo-rs. The bucket tracks releases automatically. - Uninstall —
scoop uninstall bdinfo-rs; drop the bucket withscoop bucket rm agentjp.
brew install agentjp/tap/bdinfo-rs- Where it goes — the versioned keg
$(brew --prefix)/Cellar/bdinfo-rs/<version>/, symlinked as$(brew --prefix)/bin/bdinfo-rs. The prefix is/opt/homebrewon Apple Silicon,/usr/localon Intel Macs,/home/linuxbrew/.linuxbrewon Linux. The formula also installs the man page and the bash / zsh / fish completions into Homebrew's standard share paths. - Updates —
brew upgrade bdinfo-rs(after abrew update). - Uninstall —
brew uninstall bdinfo-rs; drop the tap withbrew untap agentjp/tap.
Add the repository once, then use your package manager normally. Package repository hosting is graciously provided by Cloudsmith ♥ OSS.
# Debian / Ubuntu and derivatives
curl -1sLf 'https://dl.cloudsmith.io/public/bdinfo-rs/bdinfo-rs/setup.deb.sh' | sudo -E bash
sudo apt install bdinfo-rs
# Fedora / RHEL / openSUSE
curl -1sLf 'https://dl.cloudsmith.io/public/bdinfo-rs/bdinfo-rs/setup.rpm.sh' | sudo -E bash
sudo dnf install bdinfo-rs- Where it goes —
/usr/bin/bdinfo-rs, the man page at/usr/share/man/man1/bdinfo-rs.1, completions under/usr/share/bash-completion/completions/,/usr/share/zsh/site-functions/and/usr/share/fish/vendor_completions.d/, and the license at/usr/share/doc/bdinfo-rs/copyright. The setup script writes the repository definition to/etc/apt/sources.list.d/bdinfo-rs-bdinfo-rs.listplus a signing key under/usr/share/keyrings/(apt), or/etc/yum.repos.d/bdinfo-rs-bdinfo-rs.repo(dnf). - Updates — your normal
sudo apt upgrade/sudo dnf upgradepicks up new releases. - Uninstall —
sudo apt remove bdinfo-rs/sudo dnf remove bdinfo-rs. To drop the repository too, delete the repository definition and key files listed above.
Prefer not to add a repository? Individual .deb / .rpm packages (x64 and arm64) are attached
to every release — same file layout, but
updates become manual (download and install the next release's package; the package manager
still uninstalls it cleanly):
sudo apt install ./bdinfo-rs_*_amd64.deb # Debian / Ubuntu
sudo dnf install ./bdinfo-rs-*.x86_64.rpm # Fedora / RHELyay -S bdinfo-rs-bin # or any AUR helper- Where it goes —
/usr/bin/bdinfo-rs, the man page, all three shell completions, and the license under/usr/share/licenses/bdinfo-rs-bin/— the same layout as the.deb/.rpm. - Updates — your AUR helper's normal upgrade (
yay -Syu); the package tracks releases automatically. - Uninstall —
sudo pacman -R bdinfo-rs-bin.
cargo binstall bdinfo-rs # fetch the prebuilt release binary, no compile
cargo install bdinfo-rs # or build from the crates.io source- Where it goes —
$CARGO_HOME/bin/bdinfo-rs(default~/.cargo/bin), which a Rust installation already has onPATH. This route installs the bare binary only — no man page or completions (see the last section to add them). - Updates — re-run the same command;
cargo installrebuilds when a newer version exists. - Uninstall —
cargo uninstall bdinfo-rs.
Downloads the right binary for your platform and puts it on PATH.
# Linux / macOS
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/agentjp/bdinfo-rs/releases/latest/download/bdinfo-rs-installer.sh | sh# Windows
powershell -ExecutionPolicy Bypass -c "irm https://github.com/agentjp/bdinfo-rs/releases/latest/download/bdinfo-rs-installer.ps1 | iex"- Where it goes —
$CARGO_HOME/bin, falling back to~/.cargo/binwhenCARGO_HOMEis not set (on Windows:%USERPROFILE%\.cargo\bin) — even without Rust installed; the script just creates the directory. It then puts that directory onPATH: on Linux / macOS by adding a source line for~/.cargo/envto your shell profiles, on Windows by editing the userEnvironment\Pathregistry value. It also writes an install receipt,bdinfo-rs-receipt.json, to~/.config/bdinfo-rs/(Linux / macOS, honoringXDG_CONFIG_HOME) or%LOCALAPPDATA%\bdinfo-rs\(Windows), recording the version and whetherPATHwas modified. - Overrides — set
BDINFO_RS_INSTALL_DIRto force a custom directory;BDINFO_RS_NO_MODIFY_PATH=1skips thePATHedit. - Updates — re-run the same one-liner. It always fetches the latest release and overwrites the binary in place; that is the update mechanism. There is no self-update command.
- Uninstall — manual, three pieces:
- Delete the
bdinfo-rsbinary from~/.cargo/bin(or whereverBDINFO_RS_INSTALL_DIRpointed). - Delete the receipt directory (
~/.config/bdinfo-rsor%LOCALAPPDATA%\bdinfo-rs). - Optionally undo the
PATHedit — but only if nothing else uses that directory: a Rust toolchain lives in~/.cargo/bintoo, and rustup shares the same~/.cargo/envmechanism.
- Delete the
Archives are named by Rust target triple — bdinfo-rs-x86_64-unknown-linux-musl.tar.gz,
bdinfo-rs-aarch64-pc-windows-msvc.zip, and so on — and attached to every
release.
- Where it goes — wherever you extract it; there is no install step and nothing else is written. The archive carries the binary, LICENSE, README, CHANGELOG, the man page, and all four shell completions.
- Updates — download the next release's archive and replace the files.
- Uninstall — delete the extracted files.
See Verifying downloads for checksums and provenance.
Multi-arch images (linux/amd64, linux/arm64) on the GitHub Container Registry. The image is
the static binary on scratch — no OS, no shell, no libc, about 1 MB.
docker pull ghcr.io/agentjp/bdinfo-rs:latest # or pin a release: :4.0.0- Updates —
docker pulla newer tag. Tags track the repo's versions (4.0.0, plus rolling4.0and4). - Uninstall —
docker rmi ghcr.io/agentjp/bdinfo-rs.
Mount the disc and pass its in-container path. -it gives the interactive picker a terminal;
the report is written back into the mounted folder.
docker run --rm -it -v /path/to/disc:/mnt/bd ghcr.io/agentjp/bdinfo-rs /mnt/bdAn .iso has no folder to write into, so mount a second directory for the report:
docker run --rm -it -v /path/to/movie.iso:/movie.iso:ro -v /path/to/out:/out \
ghcr.io/agentjp/bdinfo-rs /movie.iso /outTo build the image yourself: docker build -t bdinfo-rs .
No C toolchain, no system libraries, no extra steps — the same on every platform. The pinned
Rust toolchain installs itself via rust-toolchain.toml.
git clone https://github.com/agentjp/bdinfo-rs
cd bdinfo-rs
cargo build --release # CLI at target/release/bdinfo-rs
cargo test- Where it goes —
target/release/bdinfo-rs; run it from there, orcargo install --path crates/bdinfo-rsto place it in~/.cargo/bin. The build also regenerates the man page and completions undertarget/release/build/bdinfo-rs-*/out/assets/. - Updates —
git pulland rebuild. - Uninstall — delete the clone (and
cargo uninstall bdinfo-rsif you installed it).
The desktop app is bdinfo-rs-gui, released on its own
gui-v* tags
and versioned in lock-step with the command-line binary.
Settings and log. On every platform the app keeps its settings (gui.conf) and log
(gui.log) in one per-user folder: %APPDATA%\bdinfo-rs on Windows,
~/Library/Application Support/bdinfo-rs on macOS, $XDG_CONFIG_HOME/bdinfo-rs (default
~/.config/bdinfo-rs) on Linux. This is runtime data the app creates — no uninstaller
removes it (so settings survive a reinstall); delete the folder by hand for a complete
removal. The one exception is Homebrew's --zap, noted below. The portable zip can override
this, also below.
Release artifacts, per platform:
| Platform | Artifacts |
|---|---|
| Windows x64 | bdinfo-rs-gui-x86_64-pc-windows-msvc.msi · bdinfo-rs-gui-x86_64-pc-windows-msvc.zip |
| Windows arm64 | bdinfo-rs-gui-aarch64-pc-windows-msvc.msi · bdinfo-rs-gui-aarch64-pc-windows-msvc.zip |
| macOS Intel | bdinfo-rs-gui-x86_64-apple-darwin.dmg |
| macOS Apple Silicon | bdinfo-rs-gui-aarch64-apple-darwin.dmg |
| Linux x64 | bdinfo-rs-gui-x86_64-unknown-linux-gnu.AppImage · .deb · .rpm |
| Linux arm64 | bdinfo-rs-gui-aarch64-unknown-linux-gnu.AppImage · .deb · .rpm |
winget install agentjp.bdinfo-rs-gui- Where it goes — WinGet runs the MSI below silently, so everything in the next section
applies:
%LOCALAPPDATA%\Programs\bdinfo-rs GUI\, per-user, no administrator rights. A silent install never shows the license page and does not add the install directory toPATH. - Updates —
winget upgrade agentjp.bdinfo-rs-gui(orwinget upgrade --all). New releases are submitted to the WinGet community repository automatically. - Uninstall —
winget uninstall agentjp.bdinfo-rs-gui, or Apps & features.
- Where it goes —
%LOCALAPPDATA%\Programs\bdinfo-rs GUI\(bdinfo-rs-gui.exe, LICENSE, NOTICE), a Start-menu shortcut, and an Apps & features entry — all per-user; the installer never asks for administrator rights and touches nothing machine-wide. It shows a license page and one optional feature, off unless you pick it: adding the install directory to your userPATH(for unattended installs:msiexec /i <msi> /qn ADDLOCAL=Main,PathEnvironment). - Updates — run a newer release's MSI; it replaces the installed version in one step. Downgrades are refused.
- Uninstall — Apps & features (or
msiexec /x <msi>). Removes the program folder, shortcut, and thePATHentry if that feature was installed; leaves%APPDATA%\bdinfo-rs(settings and log) in place.
- Where it goes — wherever you extract it; run
bdinfo-rs-gui.exefrom there. By default settings and the log still live in%APPDATA%\bdinfo-rs; create an empty file namedbdinfo-rs-gui.portablenext to the executable and the app keepsgui.confandgui.logbeside itself instead, so the whole folder can move between machines. - Updates — extract the next release's zip over the old files (the portable marker and
gui.confare yours; the zip never contains them). - Uninstall — delete the folder, plus
%APPDATA%\bdinfo-rsif the portable marker was not in use.
The Windows binaries are not code-signed, so SmartScreen may warn on a new release ("Windows protected your PC") until that build has been seen enough times. Choose More info → Run anyway.
brew install --cask agentjp/tap/bdinfo-rs-gui- Where it goes —
/Applications/bdinfo-rs GUI.app. - Updates —
brew upgrade --cask bdinfo-rs-gui. - Uninstall —
brew uninstall --cask bdinfo-rs-guiremoves the app;brew uninstall --zap --cask bdinfo-rs-guialso trashes the settings folder, caches, and saved window state.
The cask prints the Gatekeeper first-launch steps (next section) after install.
- Where it goes — drag the app to
/Applications(or anywhere). - Updates — download the next release's DMG and replace the app.
- Uninstall — move the app to the Trash; settings stay in
~/Library/Application Support/bdinfo-rsuntil you delete them.
The app is not signed or notarized — there is no Apple Developer account behind this project — so Gatekeeper blocks the first launch. Open it once, then allow it under System Settings → Privacy & Security → "Open Anyway". The command-line equivalent:
xattr -d com.apple.quarantine "/Applications/bdinfo-rs GUI.app"On macOS 26 (Tahoe) the same block is reported as "bdinfo-rs GUI" is damaged and can't be opened. You should move it to the Trash. The app is not damaged; that is Tahoe's wording for an unsigned quarantined app, and the two steps above still apply.
The same Cloudsmith repository as the command-line tool (setup commands above):
sudo apt install bdinfo-rs-gui # Debian / Ubuntu
sudo dnf install bdinfo-rs-gui # Fedora / RHEL / openSUSE- Where it goes —
/usr/bin/bdinfo-rs-gui, a desktop entry and AppStream metadata under/usr/share/applications/and/usr/share/metainfo/, and icons under/usr/share/icons/hicolor/. The package recommendsxdg-desktop-portal(+ a backend) for the file dialogs andlibvulkan1for GPU rendering — without the latter the app falls back to software rendering. - Updates — your normal
sudo apt upgrade/sudo dnf upgrade. - Uninstall —
sudo apt remove bdinfo-rs-gui/sudo dnf remove bdinfo-rs-gui; settings stay in~/.config/bdinfo-rsuntil you delete them.
Standalone .deb / .rpm packages are also attached to every gui-v* release for
repository-free installs (updates become manual).
yay -S bdinfo-rs-gui-bin # or any AUR helper- Where it goes — the same layout as the
.deb:/usr/bin/bdinfo-rs-gui, desktop entry, AppStream metadata, icons. - Updates — your AUR helper's normal upgrade (
yay -Syu). - Uninstall —
sudo pacman -R bdinfo-rs-gui-bin.
- Where it goes — a single self-contained file; put it anywhere,
chmod +xit, run it. Nothing else is installed — no desktop entry, no icon. - Updates — download the next release's AppImage and replace the file.
- Uninstall — delete the file (and
~/.config/bdinfo-rsfor the settings).
cargo install bdinfo-rs-gui # build from crates.io
# or from a clone (the GUI is its own workspace):
cd crates/bdinfo-rs-gui
cargo build --release # app at target/release/bdinfo-rs-gui- Where it goes —
~/.cargo/bin/bdinfo-rs-gui(cargo install) ortarget/release/bdinfo-rs-gui(clone build). The bare binary only — no desktop entry, icons, or Start-menu shortcut. - Updates — re-run
cargo install bdinfo-rs-gui, orgit pulland rebuild. - Uninstall —
cargo uninstall bdinfo-rs-gui, or delete the clone.
Every release asset — both lanes, v* and gui-v* — is covered by a checksum manifest attached
to its release (sha256.sum on CLI releases, SHA256SUMS on GUI releases; CLI archives also
carry a per-archive .sha256 sidecar) and a GitHub Artifact Attestation, verifiable with the
GitHub CLI:
gh attestation verify <file-path of downloaded artifact> --repo agentjp/bdinfo-rsYou can also download the attestation from GitHub and verify against that directly:
gh attestation verify <file-path of downloaded artifact> --bundle <file-path of downloaded attestation>Generated from the CLI itself, so they always match the binary. Homebrew, the .deb / .rpm
packages, and the AUR package install them for you; from an extracted archive, place them by
hand:
install -Dm644 bdinfo-rs.bash /usr/share/bash-completion/completions/bdinfo-rs
install -Dm644 _bdinfo-rs /usr/share/zsh/site-functions/_bdinfo-rs
install -Dm644 bdinfo-rs.fish ~/.config/fish/completions/bdinfo-rs.fish
install -Dm644 bdinfo-rs.1 /usr/share/man/man1/bdinfo-rs.1# PowerShell — dot-source from your $PROFILE
. .\_bdinfo-rs.ps1A source build writes the same files to target/<profile>/build/bdinfo-rs-*/out/assets/.