https://github.com/konnatoad/konserve
Windows backup tool written in Rust with a simple GUI.
https://github.com/konnatoad/konserve
backup eframe egui file-backup file-restore gui restore rust tar template-system windows
Last synced: 7 days ago
JSON representation
Windows backup tool written in Rust with a simple GUI.
- Host: GitHub
- URL: https://github.com/konnatoad/konserve
- Owner: konnatoad
- License: mit
- Created: 2025-03-22T23:42:04.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-06-13T20:55:41.000Z (7 days ago)
- Last Synced: 2026-06-13T22:20:44.878Z (7 days ago)
- Topics: backup, eframe, egui, file-backup, file-restore, gui, restore, rust, tar, template-system, windows
- Language: Rust
- Homepage:
- Size: 479 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
# Konserve
A simple GUI backup utility for Windows, designed to help you **back up** important folders or files and **restore them** later—even on a different machine or user account.
> ✔ Portable backups with timestamped TARs
> ✔ Embedded build-time fingerprint
> ✔ Template support
> ✔ Partial restore with visual tree selection & progress
> ✔ Smart path correction across Windows users
**Roadmap:** [See what's planned for v0.2.0 →](https://github.com/konnatoad/Konserve/wiki/Roadmap)
---
## Features
- **Select multiple folders and files** to include in a backup
- **Create timestamped `.tar` archives** with embedded path data
- **Embedded fingerprint** (via build script) in every backup for traceability
- **Restore entire backups** or selectively restore individual items
- **Preview and toggle restore items** using a collapsible folder tree
- **Progress bars & spinners** show pack/unpack progress in real time
- **Save/Load/Edit templates** (`.json`) to re-use backup selections
- **Auto-adjust file paths** when restoring to a new user account
- **Friendly GUI** built with [egui](https://github.com/emilk/egui)
---
## UI Preview
| Backup | Template | Restore |
|--------|----------|---------|
|  |  |  |
---
## Backup Format
Each backup:
- Is saved as a compressed `.tar` file:
```
backup_YYYY-MM-DD_HH-MM-SS.tar
```
- Includes a `fingerprint.txt` file with:
- A unique fingerprint ID (configured via `.env` or embedded at build time)
- The original source paths for every backed-up file/folder
---
## Template System
Save your folder/file selection as a `.json` template to:
- Quickly re-select common paths for future backups
- Manually edit or review the list in-app
- Load templates even when some paths are missing (skips safely)
---
## Path Correction
Restoring to a different user account? No problem.
The tool auto-adjusts Windows-style paths like:
```
C:\Users\Alice\Documents → C:\Users\Bob\Documents
```
This allows seamless migration between machines or profiles.
---
## Building
### Prerequisites
- Rust (2021+ toolchain): [Install Rust](https://rustup.rs)
- A Windows machine (or cross-compile target)
- (Optional) `.env` file with a custom fingerprint:
```env
FINGERPRINT=MyMachine123
```
### Build
```bash
cargo build --release
```
Your executable will be:
```
target/release/Konserve.exe
```
---
# Credits
*Maintained and developed by [@konnatoad](https://github.com/konnatoad)*
Special thanks to [@seshues](https://github.com/seshues) for feedback, ideas and input.
---
## Documentation
See the full documentation in the [GitHub Wiki](https://github.com/konnatoad/Konserve/wiki).