PartialZip

Travis Build Status AppVeyor Build Status Github Build Status

PartialZip is a rewrite of https://github.com/planetbeing/partial-zip in Rust.

It allows you to download single files from inside online zip archives.

You are welcome to add more zip types and decompression methods and file sources.

How to Use

As a command line tool:

cargo install partialzip partialzip list http://yoururl/file.ipsw partialzip download http://yoururl/file.ipsw kernelcache.release.iphone10 kernelcache.release.iphone10

Or from git sources:

``` cargo build --release

listing files

./target/release/partialzip list http://yoururl/file.ipsw

download file

./target/release/partialzip download http://yoururl/file.ipsw filename

for example for kernelcache:

./target/release/partialzip download http://yoururl/file.ipsw kernelcache.release.iphone10 kernelcache.release.iphone10 ```

Docker:

```

build the container

docker build -t marcograss/partialzip .

run it

list files

docker run --rm marcograss/partialzip list http://yoururl/file.ipsw

download piping to stdout and save on the host

docker run --rm marcograss/partialzip pipe http://yoururl/file.ipsw kernelcache.release.iphone10 > kernelcache.release.iphone10 ```

What is used for

sometimes zip archives are huge and you just need a couple of files, for example, a kernelcache from a ipsw

./target/release/partialzip download "http://XXXXX/iPhone10,6_11.1.2_15B202_Restore.ipsw" kernelcache.release.iphone10b kernelcache.release.iphone10b

As you can see the time (and traffic) saved is significant.

PartialZip only download the required chunks for your file, allowing you to download few MB instead of several GB of the original IPSW.

Showcases