#tar #tar-archive #reader-writer #encoding #file-reader

astral-tokio-tar

A Rust implementation of an async TAR file reader and writer. This library does not currently handle compression, but it is abstract over all I/O readers and writers. Additionally, great lengths are taken to ensure that the entire contents are never required to be entirely resident in memory all at once.

3 releases

new 0.5.2 Mar 18, 2025
0.5.1 Feb 9, 2025
0.5.0 Feb 5, 2025

#76 in Compression

Download history 1834/week @ 2025-02-04 3443/week @ 2025-02-11 3113/week @ 2025-02-18 3493/week @ 2025-02-25 5933/week @ 2025-03-04 3815/week @ 2025-03-11

17,002 downloads per month
Used in data-source

MIT/Apache

170KB
3.5K SLoC

astral-tokio-tar

A tokio-based tar archive reader and writer.

Provenance

This crate is a fork of edera-dev/tokio-tar, which was a fork of vorot93/tokio-tar, which was a fork of dignifiedquire/async-tar, which is based on alexcrichton/tar-rs.

As compared to the async tar crates, this crate includes a variety of performance improvements and missing patches from alexcrichton/tar-rs.

As compared to alexcrichton/tar-rs, this crate features the following modifications:

  • Setting preserve_permissions to false will avoid setting any permissions on extracted files. In alexcrichton/tar-rs, setting preserve_permissions to false will still set read, write, and execute permissions on extracted files, but will avoid setting extended permissions (e.g., setuid, setgid, and sticky bits).
  • Setting allow_external_symlinks to false will avoid extracting symlinks that point outside the unpack target. Operations that write outside the unpack directory are always denied; but by default, symlinks that read outside the unpack directory are allowed.

See the changelog for a more detailed list of changes.

License

This project is licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~3–13MB
~162K SLoC