v0.1.0-bootstrap · restic-fork

Backup, snapshot, encrypt, dedup — one CLI.

Modern compactor for the Koder Stack. Multi-file archives with content-defined deduplication, AES-256 AEAD encryption, snapshots, FUSE mount, and cloud backends. Compatible with restic during bootstrap; diverging on Koder-specific features.

kzip icon

One tool, every backup workflow

Built from a unified analysis of zstd, xz, 7-Zip, zpaq, borg, restic, dwarfs, and more — kzip combines the features that matter for the Stack into a single binary.

Content-defined deduplication

Repeated backups stay tiny. Each new snapshot stores only the chunks that changed — typical 30-day retention is ~10× smaller than naive tar+gzip rotation.

AES-256 AEAD encryption

End-to-end encrypted by default. Argon2id key derivation, AES-256-CTR with Poly1305 MAC. X25519 public-key recipients on the roadmap.

Snapshots & versioning

Every backup is an immutable snapshot. Diff, restore, prune, and traverse history. Append-only mode prevents tampering even with full repo access.

Multi-threaded

Saturates modern hardware on big repos. Compression and decompression scale with cores; SIMD kernels in the compression layer.

FUSE mount

Browse historical snapshots as a regular directory. Run grep, diff, find, or copy individual files without explicit restore.

Cloud + local + SSH

Backends out of the box: S3, GCS, Azure Blob, B2, SFTP, REST, local filesystem. Backups are content-addressable — sync between backends without re-encryption.

How it stacks up

Feature coverage against the unified list of 40 capabilities surveyed across modern FOSS compactors.

Tool Dedup Encryption Snapshots Cloud FUSE Single binary
kzip ✓ CDC ✓ AES-256 AEAD ✓ Append-only ✓ S3, GCS, Azure, B2, SFTP ✓ Linux, macOS
tar + gzip
tar + xz
7-Zip ✓ AES-256
zstd

Quickstart

Initialize a repository, take a snapshot, browse history.

# Initialize a fresh repository kzip --repo /path/to/repo init # Back up a directory kzip --repo /path/to/repo backup ~/Documents # List snapshots kzip --repo /path/to/repo snapshots # Browse a snapshot as a filesystem (FUSE) kzip --repo /path/to/repo mount /mnt/kzip ls /mnt/kzip/snapshots/latest/ # Restore a snapshot kzip --repo /path/to/repo restore latest --target ~/restored # Verify integrity kzip --repo /path/to/repo check # Prune old snapshots (keep last 7 daily, 4 weekly, 12 monthly) kzip --repo /path/to/repo forget --keep-daily 7 --keep-weekly 4 --keep-monthly 12 --prune

CLI is restic-compatible during bootstrap. Format spec at kzip.koder.dev/format (coming soon).

Built for the Koder Stack

Single binary, zero runtime dependencies, ships everywhere kzip is needed: dev laptops, CI runners, embedded devices, server snapshots.

Get started