4 releases
| 0.3.3 | May 5, 2025 |
|---|---|
| 0.3.2 | May 23, 2022 |
| 0.3.1 | Apr 23, 2021 |
| 0.3.0 | Apr 20, 2021 |
#183 in Compression
Used in 4 crates
75KB
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
~2–16MB
~165K SLoC