Skip to content

Latest commit

 

History

History

box-format

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.