This is a command line tool for compressing and decompressing files. It is
intended to be a drop-in replacement for the standard gzip
command.
For my use cases on my hardware, it is faster and produces smaller files. Your mileage may vary.
Grab the latest release from the github releases page, or build from source.
This project is compatible with the standard golang build tools.
Usage is identical to the standard gzip
command. Run klzip -h
for more
information.
Files compressed with klzip
can be decompressed with gzip
and vice versa.
The file produced by rsyncable
flag is constructed differently to that from
the standard gzip
command. You may find that rsync
will copy the entire
file on the first sync after switching to this tool. Subsequent syncs will be
faster.
Using the rsyncable
flag has the side effect that the archive becomes seekable
when using a reader that supports the xflate
format. This provides the ability
to read just a portion of the archive without decompressing the entire file.
See the following for more information on the xflate
format:
https://github.com/dsnet/compress/blob/master/doc/xflate-format.pdf
This project is covered by a BSD-style license that can be found in the LICENSE file.