A cross-platform desktop GUI for BorgBackup 1.4, built with .NET 10 and Avalonia UI 12
- Local disk, SSH, and SMB repositories
- Backup scheduling
- Real-time backup progress, speed, and ETA
- File and folder exclusions
- iCloud placeholder skipping on macOS, without downloading the files
- Archive browsing and comparison
- Upload bandwidth limit for remote repositories
- Secure passphrase storage via OS keychain (macOS Keychain, libsecret, Windows Credential Manager)
- SSH key passphrase support
- Automatic retry on transient SSH errors and stale repository locks
- Parallel operations on different repositories
- Archive pruning with per-rule retention, optionally after each scheduled backup
- Repository check and compact, with optional compact after prune
- Repository size and free storage
- System wake for scheduled backups
- AC-power-only scheduled backups
- Sleep prevention during long operations
- System tray with start at login, start minimized, and background scheduling
- Operation journal and OS notifications
Official BorgMate download packages are signed with GPG, and automatic updates install only releases whose manifest carries that signature; the installed binaries themselves are not signed. The signatures are available in our GitHub releases. GPG signing key fingerprint: 2D0B01C4BDAAF32BA376AE1E793239019CE4CF26.
Automatic updates verify each downloaded package against the signed SHA-256 before installation, including packages already cached locally.
- .NET SDK 10.0.404 (for building;
global.jsonrequires exactly this version) - BorgBackup 1.4.x, 1.4.5 or newer recommended
- OpenSSH (for remote repositories)
- Windows: WSL with borg installed inside it
| Platform | Architecture |
|---|---|
| macOS | x64, arm64 |
| Linux | x64, arm64 |
| Windows (WSL) | x64, arm64 |
A Release build of the same commit produces the same BorgMate.dll byte for byte on Windows, macOS and Linux.
To rebuild a release, check out its tag in a clean clone and publish it for the platform you want to compare:
git clone https://github.com/oddbit-io/borgmate.git
cd borgmate
git checkout v<version>
dotnet publish BorgMate/BorgMate.csproj -c Release -r <rid> --self-contained true -o outStarting with 1.3.1, every file in out matches the official build, except BorgMate.deps.json and BorgMate.runtimeconfig.json: the SDK writes them with the line endings of the build machine.
The installers and update packages are not reproducible yet.
BorgMate release numbers follow Semantic Versioning 2.0.0.
Licensed under the GNU General Public License v3.0.

