Skip to content

Repository files navigation

RS Shield 🛡️

RS Shield is an enterprise-grade backup and recovery solution built entirely in Rust. It provides military-grade encryption, S3/S3-compatible storage support, incremental backups, real-time sync, and a modern desktop interface.

✨ Key Features

  • 🔐 AES-256-GCM Encryption - Military-grade encryption for all backed-up data
  • 📦 Incremental Backups - Efficient backup strategy that only backs up changed files
  • 🌐 S3 Compatible - Support for AWS S3, MinIO, DigitalOcean Spaces, Wasabi, CloudFlare R2
  • High Performance - Multi-threaded processing with Zstd compression
  • 🖥️ Desktop App - Modern UI with real-time monitoring and drag-and-drop support
  • 🔄 Real-Time Sync - Watch folders and auto-backup on file changes
  • 📊 Detailed Reports - Comprehensive backup reports with statistics
  • 🔔 Smart Notifications - Email, webhooks, and system notifications
  • 🔋 Resource Aware - Automatic pauses on low battery or high CPU
  • 🎒 Portable Backups - Create backups without config files, perfect for external drives and cross-computer restores
  • ⚙️ Automatic Deduplication - Intelligent duplicate detection saves storage and speeds up backups
  • 📸 Snapshot Comparison - Compare two backup snapshots to see exactly what changed

🚀 Quick Start

Prerequisites

  • Rust 1.70+ (Install)
  • macOS, Linux, or Windows
  • Optional: S3-compatible storage

Installation & Usage

# Clone repository
git clone https://github.com/zebedeu/rs-shield.git
cd rs-shield

# Desktop App
./run-desktop.sh

# Or use CLI
cargo run --bin rsb-cli -- --help

📚 Documentation

🏗️ Project Structure

rs-shield/
├── rsb-cli/        # Command-line interface
├── rsb-sdk/       # Core encryption & backup engine
├── rsb-desktop/    # Desktop GUI (Dioxus + Tailwind)
└── tests/          # Integration tests

🔒 Security

  • FIDO2 Authentication - Secure login via hardware keys for CLI and Desktop
  • Chunked encryption (512MB chunks) for optimal S3 performance

📊 Performance

  • Backup Speed: 500+ MB/s on SSD
  • Memory Usage: ~50MB typical
  • Compression: 40-70% for text/document files
  • S3 Chunks: 512MB for optimal multipart uploads

🛠️ Development

# Build all components
cargo build --release

# Run tests
cargo test --workspace

# Run specific tests
cargo test --package rsb-sdk realtime --

# Format code
cargo fmt

# Check for issues 
cargo clippy --all-targets

📄 Configuration Example

source_path = "/home/user/documents"
destination_path = "/mnt/backup"
backup_mode = "incremental"
encryption_key = "your-secure-password"
compression_level = 3

[s3]
bucket = "my-backups"
region = "us-east-1"
endpoint = "https://s3.amazonaws.com"

[[s3_buckets]]
name = "primary"
region = "us-east-1"
endpoint = "https://s3.amazonaws.com"

🤝 Contributing

We welcome contributions! Please see CONTRIBUTING.md for details.

📋 Roadmap

  • Web dashboard
  • Advanced scheduling (cron integration)
  • Machine learning deduplication
  • Mobile app
  • Audit logging
  • Multi-user support

📄 License

MIT License - see LICENSE for details

🙏 Acknowledgments

Built with:


RS Shield - Enterprise-grade backup for everyone 🛡️

About

RS Shield is an enterprise-grade backup and recovery solution built entirely in Rust.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages