Skip to content

Installation

Every release on the releases page ships the same build several ways:

An installer.pkg on macOS, setup.exe on Windows, .deb on Debian and Ubuntu. Each one puts anistream on your PATH and adds a launcher, so you can type it or click it. The launcher opens your terminal, since that is where anistream lives.

An AppImage — for every other Linux distro: chmod +x it and run it from a terminal. Nothing is installed.

An archive.tar.gz or .zip holding just the binary, for putting on PATH yourself.

Everything ships with a .sha256 worth checking first.

mpv and ffmpeg are not bundled. anistream drives mpv for playback and shells out to ffmpeg when muxing subtitles into a completed download. The .deb declares both as dependencies; on macOS and Windows, install them yourself — see Prerequisites below.

There is no Homebrew formula and no cargo install yet. To build from source instead, install the prerequisites and then build.

Terminal window
anistream --update

That downloads the latest release for your platform, verifies it against the published SHA-256, and replaces the binary in place — restart anistream to use it. The app also checks GitHub for a new release once a day (one cached HTTPS request, nothing downloaded) and mentions it in a toast. Turn the check off with:

[updates]
check = false
Terminal window
brew install mpv ffmpeg cmake
rustup toolchain install 1.97.1 # pinned by rust-toolchain.toml
Terminal window
git clone https://github.com/bitknox/anistream
cd anistream
cargo run --release

The first build is slow — BoringSSL, librqbit and a WASM runtime are in the tree — and incremental after that. The binary ends up at target/release/anistream if you want it on your PATH.

Config ~/Library/Application Support/anistream/config.toml
History database ~/Library/Application Support/anistream/anistream.db
Plugins ~/Library/Application Support/anistream/plugins/*.wasm
Logs ~/Library/Caches/anistream/logs/

Plugins always sit beside config.toml, whatever that path is — anistream --plugins prints the directory it is actually reading. Logs roll daily, at info unless ANISTREAM_LOG says otherwise.

No config file is required — one is only written when you change something in the Settings screen, and those writes are format-preserving, so comments you add by hand survive.