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) range requests 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!)