Skip to main content

Crate portable_network_archive

Crate portable_network_archive 

Source
Expand description

§Portable Network Archive

test Crates.io docs.rs

PNA (Portable Network Archive) is a highly scalable archive format that can be compressed, encrypted, and split. Also, its data structure is inspired by the PNG data structure.

§Installation

§Via Shell (Prebuilt Binary)

§On Linux or macOS
curl --proto '=https' --tlsv1.2 -LsSf 'https://github.com/ChanTsune/Portable-Network-Archive/releases/latest/download/portable-network-archive-installer.sh' | sh
§On Windows
powershell -ExecutionPolicy Bypass -c "irm https://github.com/ChanTsune/Portable-Network-Archive/releases/latest/download/portable-network-archive-installer.ps1 | iex"

§Via Cargo

cargo install portable-network-archive

§From Source (via Cargo)

cargo install --git https://github.com/ChanTsune/Portable-Network-Archive.git portable-network-archive

§Usage

§PNA-native style

pna create -f archive.pna file1.txt file2.txt
pna extract -f archive.pna
pna list -f archive.pna

§tar-like style

If you prefer tar-like syntax, a bsdtar-compatible interface is available:

pna compat bsdtar -cf archive.pna file1.txt file2.txt
pna compat bsdtar -xf archive.pna
pna compat bsdtar -tf archive.pna

Both styles produce PNA-format archives. Note that compat bsdtar preserves permissions, ownership, and timestamps by default (matching bsdtar behavior), while PNA-native commands require explicit flags to preserve them.

For more commands and options:

pna --help

§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.

Modules§

cli
command