--- title: "Zipdl" date: 2023-10-07T23:28:16+01:00 draft: false --- I wrote a small program for downloading individual files from a remote ZIP file on a http server that supports [Range](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Range) requests. This was an interesting learning exercise. In case it's useful to anyone, the code is available at https://code.mfashby.net/zipdl/ Binary releases: * [linux aarch64](https://dl.mfashby.net/zipdl/0.0.1/aarch64-linux-gnu/zipdl.xz) [checksum](https://dl.mfashby.net/zipdl/0.0.1/aarch64-linux-gnu/zipdl.xz.sha256) * [linux x86_64](https://dl.mfashby.net/zipdl/0.0.1/x86_64-linux-gnu/zipdl.xz) [checksum](https://dl.mfashby.net/zipdl/0.0.1/x86_64-linux-gnu/zipdl.xz.sha256) Download the appropriate file for your platform and the checksum, then check and extract: ``` sha256sum -c zipdl.xz.sha256 # result MUST be zipdl.xz: OK unxz zipdl.xz ``` and run with -h for help ``` ./zipdl -h ``` To build from source, download the code, download [zig](https://ziglang.org/download/), and run `zig build` to produce a binary in zig-out/bin folder.