Skip to content

axon003/eRGfsarchiver

Repository files navigation

eRGfsarchiver

A downstream fork of fsarchiver (file system archiver for Linux) by François Dupoux, with added features. Built on top of fsarchiver 0.8.10-git.

This is a friendly fork. All additions are offered upstream — see UPSTREAM_PROPOSAL.md. The on-disk archive format stays compatible with stock fsarchiver wherever possible (see notes per feature).

License: GPL-2.0 (same as upstream fsarchiver). Fork author: Gabriel Diaconu. Upstream author: François Dupoux.

Added features

Feature What it does Format change?
list List archive contents without restoring. --json → JSONL. No (read-only)
extractfiles Extract individual files by pattern: extractfiles -O <dir> <archive> <pattern…> (--flat for basenames). Answers upstream issue #99. No (read-only)
--cipher aes256 AES-256-CTR cipher (PBKDF2-HMAC-SHA256 key derivation, random per-block IV) as an alternative to Blowfish-CFB. Hardware-accelerated (AES-NI via libgcrypt). Backward-compatible: old Blowfish archives still read. Yes (additive, ENCRYPT_AES256)
test Show CPU crypto capabilities and benchmark HW vs SW crypto + single/multi-core compression; --selftest round-trip. No
--progress=<style> Selectable progress output: bar, rate, perfile, json, spinner, quiet. No
--ssh-out, --cifs-out Stream the archive directly to a remote over ssh / SMB, no manual mount. No
--include <path> With save*, back up ONLY paths under <path> (whitelist; repeatable). No
--ftype-comp Per-file-type compression policy (store already-compressed files). No (per-block, compatible)
--stats-json <file> Append one JSON line of tuning stats after a save. No

Companion tools (separate, not part of the C program)

  • ergfsa.py — a pure-Python, cross-platform read-only reader (info / list / extractfiles / index / addindex). Uses zstandard + cryptography (AES-NI, SIMD) under the hood. No dependency on the C binary. Reads plain, Blowfish and AES-256 archives.
  • ergfsa_gui.py — a small Tkinter browser over ergfsa.py (open .fsa, browse, extract).
  • Attached index (addindex) — appends an encrypted index to the tail of a .fsa (after the volume footer, ZIP-style trailer) so single-file extraction seeks directly instead of scanning the whole archive. The archive stays readable by stock fsarchiver (the trailer is past the logical end).

Build (Linux)

./autogen.sh && ./configure && make
# deps: gcc make autoconf(>=2.72) automake libtool pkgconfig
#       zlib bzip2 xz lzo lz4 libzstd libgcrypt e2fsprogs (all -devel)

Quick usage

# list + extract a single file (no full restore)
fsarchiver list            backup.fsa
fsarchiver extractfiles -O /tmp/out backup.fsa '*etc/fstab'

# new AES-256 cipher
fsarchiver savefs --cipher aes256 -c <pass> backup.fsa /dev/sda1

# capability + benchmark
fsarchiver test

Relationship to upstream

Every feature here is offered to upstream fsarchiver under GPL-2.0. The internal program/package name stays fsarchiver so contributions remain clean to submit. See UPSTREAM_PROPOSAL.md.


About

Built and maintained by ERGISS Media — custom ERP, POS and business software (20+ years, 200+ databases).

🌐 ergiss.ro · mensoft.ro · dgpfa.eu · 📧 office@ergiss.ro

Support

If this tool helps you, you can buy me a coffee - paypal.me/axon003 coffee. Thank you!

About

Downstream fork of fsarchiver with AES-256 (AES-NI), list/extractfiles, fast indexed extraction. All features offered upstream.

Topics

Resources

Stars

Watchers

Forks

Releases

Sponsor this project

Packages

Contributors

Languages