Skip to content

A systems-level tool that enforces fast, secure, and incremental backups with encryption and cloud upload (future feature).

License

Notifications You must be signed in to change notification settings

sarpong4/snapsafe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SnapSafe

SnapSafe is a secure, and incremental backups tool with encryption and optional cloud upload. It is designed to protect your files through versioned snapshots and password-based encryption. It is built with simplicity and security in mind and allows you to specify files and directories you want to back-up/restore.

Features

  • 📦 Incremental backup with snapshot versioning
  • 🔐 AES-256 encryption with password-derived keys
  • 📂 Restore to any snapshot version
  • 🧾 List and delete snapshots
  • 🧪 Built-in testable architecture

Installation

cargo build --release

Or add it as a local dependency in your Cargo.toml.

Example

snapsafe backup --source ~/Documents --dest /mnt/backups
snapsafe restore --origin ./restore --output ./after_restore

Refer to this file for more information on command line logic.

Project Structure

src/
├── actions             # Core backup/restore actions logic
|  ├── mod.rs
|  ├── backup.rs
|  ├── restore.rs
|  ├── delete.rs
├── commands.rs            # Command-line parsing
├── crytpo.rs           # encryption logic
├── utils             # helper functions and other system logic
|  ├── mod.rs
|  ├── gc.rs            # Garbage Collector to handle version limits
|  ├── registry.rs      # registry management
|  ├── snapshot.rs      # snapshot implementation logic
tests/

Security

SnapSafe encrypts your data using AES-256 in GCM mode. Passwords are processed using PBKDF2 or Argon2 to generate keys securely.

Roadmap

  • ✅ Basic backup/restore/delete: See here...
  • ⌛ Configurable compression/encryption, version diffing: See here...
  • 🔜 Cloud sync (S3/GCS)
  • 🔜 Daemon mode for scheduling

About

A systems-level tool that enforces fast, secure, and incremental backups with encryption and cloud upload (future feature).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages