https://github.com/bbqsrc/box
Box - Open Standard Archive Format, a zip killer.
https://github.com/bbqsrc/box
archive box brotli compression compression-methods deflate mmap snappy xz zip zstandard
Last synced: 11 days ago
JSON representation
Box - Open Standard Archive Format, a zip killer.
- Host: GitHub
- URL: https://github.com/bbqsrc/box
- Owner: bbqsrc
- Created: 2019-09-02T16:16:59.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2024-08-05T16:00:50.000Z (9 months ago)
- Last Synced: 2025-03-25T07:12:27.466Z (28 days ago)
- Topics: archive, box, brotli, compression, compression-methods, deflate, mmap, snappy, xz, zip, zstandard
- Language: Rust
- Homepage:
- Size: 313 KB
- Stars: 48
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
⚠️Box is under active development. Do not expect compatibility between versions until v1.0.
# Box - Open Standard Archive Format
[](https://github.com/bbqsrc/box/actions)
* [`box` command line application](box)
* [`box-format` Rust crate and open specification](box-format)
* [`fusebox` demonstration FUSE driver](fusebox)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
## Screenshots
### Unix
### Windows
## Supported platforms
* Windows
* macOS
* Linux
* iOS
* Android
## License
### box-format
The `box-format` crate is licensed under either of
* Apache License, Version 2.0, ([box-format/LICENSE-APACHE](box-format/LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([box-format/LICENSE-MIT](box-format/LICENSE-MIT) or http://opensource.org/licenses/MIT)
at your option.
### box
The `box` crate is licensed under
* European Union Public License, version 1.2, ([box/LICENSE](box/LICENSE) or https://joinup.ec.europa.eu/collection/eupl/eupl-text-11-12)
The EUPL is a **copyleft, GPL-compatible license** managed by the European Union, translated into **multiple languages**. See [this introduction](https://joinup.ec.europa.eu/collection/eupl/introduction-eupl-licence) for information about the purpose, objectives and translations of the license. See also the [license compatibility matrix](https://joinup.ec.europa.eu/collection/eupl/matrix-eupl-compatible-open-source-licences).