SeqBox
Parchivist (Talk | contribs) |
Parchivist (Talk | contribs) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 16: | Line 16: | ||
If disaster strikes, recovery can be performed simply scanning a volume/image, reading sector sized slices and checking blocks signatures and then [[CRC]]s to detect valid SBX blocks. Then the blocks can be grouped by UIDs, sorted by sequence number, and reassembled to form the original SeqBox containers. | If disaster strikes, recovery can be performed simply scanning a volume/image, reading sector sized slices and checking blocks signatures and then [[CRC]]s to detect valid SBX blocks. Then the blocks can be grouped by UIDs, sorted by sequence number, and reassembled to form the original SeqBox containers. | ||
− | Does not work on encrypted filesystems or filesystems that don't have a | + | Does not work on encrypted filesystems or filesystems that don't have a multiple of 128-byte block size. |
Striping/RAID instead is usually not a problem. | Striping/RAID instead is usually not a problem. | ||
Line 25: | Line 25: | ||
Adds < 3.5% to file size. | Adds < 3.5% to file size. | ||
+ | |||
+ | The format has been extended to Error-correcting SeqBox (EC-SeqBox) by [[Blockyarchive/blkar]] | ||
+ | |||
Line 38: | Line 41: | ||
* [http://mark0.net/soft-seqbox-e.html SeqBox], Marco Pontello's Home Page | * [http://mark0.net/soft-seqbox-e.html SeqBox], Marco Pontello's Home Page | ||
+ | * [https://github.com/darrenldl/ocaml-SeqBox osbx] - OCaml implementation of SeqBox by darrenldl (Darren Li) | ||
+ | * [[Blockyarchive/blkar]] - handles both SeqBox and EC-SeqBox in a more robust manner |
Latest revision as of 20:48, 4 November 2023
SeqBox (Sequenced Box container; SBX) is a single file container/archive that can be reconstructed even after total loss of file system structures.An SBX container is composed of a collection of blocks with size sub/equal to that of a sector, so they can survive any level of fragmentation. Each block has a minimal header that includes a unique file identifier, block sequence number, checksum, version. Additional non critical info/metadata are contained in block 0 (like name, file size, crypto-hash, other attributes, etc.).
If disaster strikes, recovery can be performed simply scanning a volume/image, reading sector sized slices and checking blocks signatures and then CRCs to detect valid SBX blocks. Then the blocks can be grouped by UIDs, sorted by sequence number, and reassembled to form the original SeqBox containers.
Does not work on encrypted filesystems or filesystems that don't have a multiple of 128-byte block size.
Striping/RAID instead is usually not a problem.
With password set, can be used for steganography (attach to another file and it won't be recognizable unless password is provided).
If multiple copies are stored, can automatically pull together all the good segments.
Adds < 3.5% to file size.
The format has been extended to Error-correcting SeqBox (EC-SeqBox) by Blockyarchive/blkar
[edit] Identification
A SeqBox files start with bytes 53 42 78
, or "SBx
" in ASCII.
[edit] Format description
- SeqBox GitHub repository
[edit] Links
- SeqBox, Marco Pontello's Home Page
- osbx - OCaml implementation of SeqBox by darrenldl (Darren Li)
- Blockyarchive/blkar - handles both SeqBox and EC-SeqBox in a more robust manner