An offline-first desktop developer utility suite — encoding, hashing, formatting, image tools, and more — all running locally with no network required.
Built with Tauri 2, Rust, React 19, TypeScript, and Tailwind CSS 4.
- Website: https://play.alsatian.co/software/binturong.html
- Repository: https://github.com/alsatianco/binturong
- Author: Duc Nguyen
If Binturong is useful to you and you'd like to support its upkeep, you can buy me a coffee.
| Tool | Version | Notes |
|---|---|---|
| Node.js | LTS | Frontend build |
| Rust | stable | Backend build via Cargo |
Platform-specific dependencies are listed in the Building section.
npm install # install JS dependencies
npm run tauri dev # run desktop app in dev mode
npm run dev # run frontend only (browser)npm run test:ui # frontend unit/UI tests (vitest)
npm run test:coverage # frontend tests with coverage
cargo test --manifest-path src-tauri/Cargo.toml # Rust testsBuild a production desktop executable:
npm install
npm run tauri buildBuild output for all platforms:
- Executable:
src-tauri/target/release/binturong(.exeon Windows) - Bundles:
src-tauri/target/release/bundle/
Install system dependencies, then build:
sudo apt-get update && sudo apt-get install -y \
libwebkit2gtk-4.1-dev libgtk-3-dev \
libayatana-appindicator3-dev librsvg2-dev patchelf
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # if Rust is not installed
source ~/.cargo/env
npm run tauri build -- --bundles appimage,deb,rpmRequires Xcode (open it once to complete initial setup):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # if Rust is not installed
source ~/.cargo/env
npm run tauri build -- --bundles dmgNote: Local builds are unsigned unless Apple signing credentials are configured.
Requires Microsoft C++ Build Tools with "Desktop development with C++" enabled. Edge WebView2 is pre-installed on Windows 10 1803+ and Windows 11.
# Install Rust via rustup-init.exe from https://rustup.rs/ if not available
# Optional: for MSI/NSIS installer bundles
choco install -y nsis wixtoolset
npm run tauri build -- --bundles msi,nsisNote: If MSI packaging fails with
light.exeerrors, ensure the Windows VBScript feature is enabled.
| Workflow | File | Trigger |
|---|---|---|
| Installers | .github/workflows/build-installers.yml |
v* tag push or manual workflow_dispatch |
| Test Matrix | .github/workflows/ci-test-matrix.yml |
Push / PR |
| RC QA | .github/workflows/release-candidate-qa.yml |
Manual |
Installer artifacts: .dmg (macOS), .msi / .exe (Windows), .AppImage / .deb / .rpm (Linux)
Run local RC QA: ./scripts/release_candidate_qa.sh
Builds are unsigned by default. To enable macOS signing and notarization, set these GitHub repository secrets:
APPLE_CERTIFICATE, APPLE_CERTIFICATE_PASSWORD, APPLE_SIGNING_IDENTITY, APPLE_ID, APPLE_PASSWORD, APPLE_TEAM_ID
Manifests live under packaging/: Homebrew cask, Winget, Snap, and Flatpak.
cargo run --manifest-path src-tauri/Cargo.toml --release --bin perf-benchResults are written to docs/performance-bench.csv.
- Run policy checks with:
./scripts/privacy_security_check.sh
- Validation artifact:
docs/privacy-security-validation.md
- Run dependency and license checks with:
./scripts/dependency_license_audit.sh
- Validation artifacts:
docs/dependency-license-audit.mddocs/bundled-assets.tsv