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

Apache-2.0 OR MIT

74KB
2K SLoC

Box - Open Standard Archive Format

Actions Status

⚠️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

at your option.

Dependencies

~3–13MB
~176K SLoC