Skip to content
/ vger Public

Fast, encrypted, deduplicated backups in Rust — with friendly YAML config, a desktop GUI, and support for S3, custom REST and SFTP storage.

License

Notifications You must be signed in to change notification settings

borgbase/vger

Repository files navigation

V'Ger Backup

V'Ger Backup Logo

A fast, encrypted, deduplicated backup tool written in Rust centered around a friendly YAML config file.

Inspired by BorgBackup, Borgmatic, Restic, and Rustic. V'Ger uses its own on-disk format and is not compatible with Borg or Restic repositories.

⚠️ Don't use for production backups yet, but do test it along other backup tools.

Features

  • Storage backends — local filesystem, S3 (any compatible provider), SFTP, dedicated REST server
  • Encryption with AES-256-GCM or ChaCha20-Poly1305 (auto-selected) and Argon2id key derivation
  • YAML-based configuration with multiple repositories, hooks, and command dumps for monitoring and database backups
  • Deduplication via FastCDC content-defined chunking with a memory-optimized engine (tiered dedup index + mmap-backed pack assembly)
  • Compression with LZ4 or Zstandard
  • Built-in WebDAV and desktop GUI to browse and restore snapshots
  • REST server with append-only enforcement, quotas, and server-side compaction
  • Concurrent multi-client backups — multiple machines back up to the same repository simultaneously; only the brief commit phase is serialized
  • Built-in scheduling via vger daemon — runs backup cycles on a configurable interval (no cron needed)
  • Rate limiting for CPU, disk I/O, and network bandwidth
  • Cross-platform — Linux, macOS, and Windows

Benchmarks

V'Ger leads in both speed and CPU efficiency, while maintaining competitive memory usage.

Backup Tool Benchmark

All benchmarks were run on the same idle Intel i7-6700 CPU @ 3.40GHz machine with 2x Samsung PM981 NVMe drives. Compression settings were chosen to keep resulting repository sizes comparable. The sample corpus is a mix of small and large files with varying compressibility. See our benchmark script for full details.

Quick start

curl -fsSL https://vger.borgbase.com/install.sh | sh

Or download the latest release for your platform from the releases page.

# Generate a starter config and edit it
vger config

# Initialize the repository and run a backup
vger init
vger backup

# List snapshots
vger list

See the full documentation for storage backends, restore, maintenance, and more.

Desktop UI

V'Ger GUI

vger-gui is a Slint-based desktop app that uses vger-core directly (it does not shell out to the CLI).

  • Run backups on demand
  • List snapshots and browse snapshot contents
  • Extract snapshot contents
  • Run in the system tray with periodic background backups
  • Uses vger.yaml as the source of truth and auto-reloads config changes

Periodic GUI scheduling is configured in vger.yaml via:

schedule:
  enabled: true
  every: "24h"
  on_startup: false
  jitter_seconds: 0
  passphrase_prompt_timeout_seconds: 300

Security

To report a security vulnerability, please email hello@borgbase.com.

License

GNU General Public License v3.0

About

Fast, encrypted, deduplicated backups in Rust — with friendly YAML config, a desktop GUI, and support for S3, custom REST and SFTP storage.

Topics

Resources

License

Contributing

Stars

Watchers

Forks