https://github.com/astral-sh/tokio-tar
A tar archive reading/writing library for async Rust.
https://github.com/astral-sh/tokio-tar
async rust tar
Last synced: 8 months ago
JSON representation
A tar archive reading/writing library for async Rust.
- Host: GitHub
- URL: https://github.com/astral-sh/tokio-tar
- Owner: astral-sh
- License: apache-2.0
- Created: 2024-12-09T01:55:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-23T16:50:47.000Z (9 months ago)
- Last Synced: 2025-09-29T22:02:31.145Z (9 months ago)
- Topics: async, rust, tar
- Language: Rust
- Homepage: https://crates.io/crates/astral-tokio-tar
- Size: 775 KB
- Stars: 33
- Watchers: 4
- Forks: 8
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# `astral-tokio-tar`
A `tokio`-based tar archive reader and writer.
## Provenance
This crate is a fork of [`edera-dev/tokio-tar`](https://github.com/edera-dev/tokio-tar),
which was a fork of [`vorot93/tokio-tar`](https://github.com/vorot93/tokio-tar),
which was a fork of [`dignifiedquire/async-tar`](https://github.com/dignifiedquire/async-tar),
which is based on [`alexcrichton/tar-rs`](https://github.com/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`](https://github.com/alexcrichton/tar-rs).
As compared to [`alexcrichton/tar-rs`](https://github.com/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`](https://github.com/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](CHANGELOG.md) for a more detailed list of changes.
## License
This project is licensed under either of
* Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
http://www.apache.org/licenses/LICENSE-2.0)
* MIT license ([LICENSE-MIT](LICENSE-MIT) or
http://opensource.org/licenses/MIT)
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.