3 releases
0.3.2 | May 23, 2022 |
---|---|
0.3.1 | Apr 23, 2021 |
0.3.0 | Apr 20, 2021 |
#283 in Compression
32 downloads per month
Used in 4 crates
74KB
2K
SLoC
Box - Open Standard Archive Format
⚠️ | Box is under active development. Do not expect compatibility between versions until v1.0. |
The .box
file format and related tooling is designed to be a modern successor to formats such as
.zip
and .7z
, removing several painpoints and introducing modern features and expectations:
Features
🌉 | Cross-platform path support, with relative paths only and platform-agnostic separators |
🌐 | UTF-8 only, Unicode normalised path names and string data |
🔍 | FST-based indexing for extremely fast path lookups |
👩🚀 | Extensible with space-efficient attributes in key-value pairs for records and whole archives |
↔️ | Configurable optional byte-alignment of files to enable easy memory mapping |
💽 | Inode-based metadata for tree-based structuring, mapping closely to how filesystems work |
📁 | Support for directories, files and links |
🗜️ | Multiple compression methods within a single archive |
🖥️ | A truly cross-platform command line tool |
📜 | Well-defined, open specification of file format (due before v1.0) |
Compression methods
Currently supported compression methods:
- Stored (no compression)
- Brotli
- DEFLATE
- Snappy
- xz
- Zstandard
Supported platforms
- Windows
- macOS
- Linux
- iOS
- Android
See the fusebox
repo for an example of the .box
file format being used with a FUSE driver, also
written in Rust. 😄
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Dependencies
~3–13MB
~176K SLoC