Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chantsune/portable-network-archive
Highly scalable archive format that can be compressed, encrypted, and split. Also, its data structure is inspired by the PNG data structure.
https://github.com/chantsune/portable-network-archive
archive archive-format compression data-structures file-format rust rust-lang zstd
Last synced: 15 days ago
JSON representation
Highly scalable archive format that can be compressed, encrypted, and split. Also, its data structure is inspired by the PNG data structure.
- Host: GitHub
- URL: https://github.com/chantsune/portable-network-archive
- Owner: ChanTsune
- License: apache-2.0
- Created: 2020-02-10T13:56:54.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T14:30:12.000Z (17 days ago)
- Last Synced: 2024-10-29T14:49:46.668Z (17 days ago)
- Topics: archive, archive-format, compression, data-structures, file-format, rust, rust-lang, zstd
- Language: Rust
- Homepage:
- Size: 2.78 MB
- Stars: 6
- Watchers: 4
- Forks: 0
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
# Portable Network Archive
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.## Features
- **File Compression and Decompression**
- [x] Supports zlib, zstd, and xz.- **File Encryption and Decryption**
- [x] Supports 256-bit AES and 256-bit Camellia.- **Solid Mode**
- [x] Compresses and encrypts entire archives.- **File Attribute Preservation**
- [x] Maintains and restores file permissions.
- [x] Maintains and restores file timestamps.
- [x] Maintains and restores extended attributes.
- [x] Maintains and restores Access Control Lists (ACLs) (experimental feature).## Installation
### Via Cargo
```sh
cargo install portable-network-archive
```### From Source (via Cargo)
```sh
cargo install --git https://github.com/ChanTsune/Portable-Network-Archive.git portable-network-archive
```## Usage
### Creating an Archive
```sh
pna create [FILES]...
```### Extracting an Archive
```sh
pna extract
```### Listing Archived Entries
```sh
pna list
```Use the following command to get help.
```sh
pna --help
```## Specification
For more detailed information, please refer to the [Specification](https://portable-network-archive.github.io/Portable-Network-Archive-Specification/) document.
# 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.