Installation
Bifröst is three binaries: bifrostd (the daemon), bifrost (the CLI) and bifrost-tui (the terminal UI).
Install script
Section titled “Install script”curl -fsSL https://samishal1998.github.io/bifrost/install.sh | shThe same script, served straight from the repository:
curl -fsSL https://raw.githubusercontent.com/samishal1998/bifrost/main/install.sh | shWhat it does:
- Picks the release asset for your OS and CPU,
bifrost-<target>.tar.gz. - Downloads it together with
SHA256SUMSand checks the hash withsha256sumorshasum. On a mismatch, or with neither tool present, it stops and installs nothing. - Puts
bifrost,bifrostdandbifrost-tuiinto the install directory. Each binary is staged first and then renamed into place, so an upgrade is safe whilebifrostdis running. Then it runsbifrost --version. - Warns when the install directory is not on your
PATH, and lists which runtime tools it found.
It never uses sudo and installs nothing but the three binaries.
Options
Section titled “Options”Set these on the sh side of the pipe:
| Variable | Default | Effect |
|---|---|---|
BIFROST_VERSION |
latest release | A release tag such as v0.1.0 (0.1.0 works too) |
BIFROST_INSTALL_DIR |
$HOME/.local/bin |
Where the three binaries go. It must be writable by you |
BIFROST_DOWNLOAD_URL |
GitHub Releases | Base URL of a mirror. The script fetches <base>/SHA256SUMS and <base>/bifrost-<target>.tar.gz |
# pin a versioncurl -fsSL https://samishal1998.github.io/bifrost/install.sh | BIFROST_VERSION=v0.1.0 sh
# install somewhere elsecurl -fsSL https://samishal1998.github.io/bifrost/install.sh | BIFROST_INSTALL_DIR="$HOME/bin" shPlatforms
Section titled “Platforms”| OS | CPU | Release asset |
|---|---|---|
| Linux (static, musl) | x86_64 | bifrost-x86_64-unknown-linux-musl.tar.gz |
| Linux (static, musl) | arm64 | bifrost-aarch64-unknown-linux-musl.tar.gz |
| macOS | Intel | bifrost-x86_64-apple-darwin.tar.gz |
| macOS | Apple silicon | bifrost-aarch64-apple-darwin.tar.gz |
Each tarball holds one directory, bifrost-<target>/, with the three binaries, README.md, LICENSE-MIT and
LICENSE-APACHE.
Manual download
Section titled “Manual download”-
Pick your target from the table above and download the tarball and the checksum list:
Terminal window target=x86_64-unknown-linux-muslbase=https://github.com/samishal1998/bifrost/releases/latest/downloadcurl -fsSLO "$base/bifrost-$target.tar.gz"curl -fsSLO "$base/SHA256SUMS"For a specific version, use
https://github.com/samishal1998/bifrost/releases/download/v0.1.0as the base. -
Verify the tarball:
Terminal window grep " bifrost-$target.tar.gz\$" SHA256SUMS | sha256sum -c -Terminal window grep " bifrost-$target.tar.gz\$" SHA256SUMS | shasum -a 256 -c -It must print
bifrost-<target>.tar.gz: OK. -
Unpack and install:
Terminal window tar -xzf "bifrost-$target.tar.gz"mkdir -p ~/.local/bininstall -m 755 "bifrost-$target/bifrost" "bifrost-$target/bifrostd" "bifrost-$target/bifrost-tui" ~/.local/bin/
Build from source
Section titled “Build from source”You need Rust 1.89 or newer (edition 2024).
git clone https://github.com/samishal1998/bifrostcd bifrostcargo build --releasemkdir -p ~/.local/bininstall -m 755 target/release/bifrost target/release/bifrostd target/release/bifrost-tui ~/.local/bin/With CARGO_TARGET_DIR set, the binaries are in $CARGO_TARGET_DIR/release/ instead.
Runtime dependencies
Section titled “Runtime dependencies”Bifröst drives the tools you already trust. It looks for them on $PATH and in /usr/local/bin, /usr/bin
and /bin (plus /opt/homebrew/bin on macOS), so a minimal service PATH still works.
ssh(the OpenSSH client), always. Every driver goes through the systemssh.- Linux:
sshfsand/orrclone, plus FUSE 3 (/dev/fuseandfusermount3, packagefuse3). - macOS: macFUSE or FUSE-T for
sshfsandrclone.rclonealone is enough for therclone-nfsdriver. tailscale, only if you use the Tailscale discovery provider.
sudo apt install openssh-client sshfs fuse3sudo apt install rclone # optional second driversudo dnf install openssh-clients fuse-sshfs fuse3sudo dnf install rclone # optional second driversudo pacman -S openssh sshfs fuse3sudo pacman -S rclone # optional second driverbrew install rclone # rclone-nfs needs no FUSE at all# for sshfs, pick one FUSE:brew install --cask macfuse && brew install gromgit/fuse/sshfs-macbrew install macos-fuse-t/cask/fuse-t macos-fuse-t/cask/fuse-t-sshfsThen check everything in one go:
bifrost doctordoctor works without a running daemon. See Troubleshooting for what each
line means.
Uninstall
Section titled “Uninstall”Mounts outlive the daemon, so unmount first, then stop bifrostd and remove the binaries:
bifrost unmount <id> # for each mount in `bifrost mounts`systemctl --user disable --now bifrost # or stop bifrostd however you started itrm ~/.local/bin/bifrost ~/.local/bin/bifrostd ~/.local/bin/bifrost-tuiYour config (~/.config/bifrost/) and state (~/.local/state/bifrost/) stay until you delete them.

