ripunzip is a tool which can:
- list files within a zip on a web server without downloading the whole zipfile;
- unzip specific files from a zip on a web server without downloading the others;
- unzip a file while it's downloading it;
- unzip several files at the same time using multiple cores, from a local zip file or from a server.
It does this using:
- HTTP(S)
rangerequests to ask for just the relevant parts of the zip file. - Rust's "fearless concurrency" to do things in parallel without too much risk of introducing bugs.
- Rust's existing zip crate. (I didn't do any of the hard bits!)
I've written about ripunzip before, but I now consider it useful enough that people should start to use it!
You can see the code here, install it using cargo install ripunzip , or fetch a .deb package from here. Please use --help to see the options and raise any bugs on github (with logs captured using -vvv please!)