Here we go!
This is the first release of libsqsh, a C library for reading squashfs images.
At this state, libsqsh is feature complete, but has a unrefined (and largely undocmented) API. In order to improve this situation I want to encourage people to try out the library and give feedback, especially about performance and developer experience.
Features
The full set of sqashfs features is supported. This includes, but is not limited to extended attributes, export tables, **
This library can be build with only libc as a dependency. Optionally the following compression algorithms are supported:
- zlib
- lz4
- lzma
- lzo2 (default
off
, due to licensing incompatibilities, only enable if you know what you're doing!) - zstd
Furthermore libsqsh supports remote mounting through curl
. This is largely done in order to improve the debugging experience, but there might be interesting scenarios to mount remote squashfs images through http for example.
There's optional support for fuse
integrated too. If enabled, libsqsh will build a command line tool that allows to mount squashfs images with fuse. The library will not be affected by this build flag.
Outlook
The next releases will focus on improving performance by adding a caching system and reducing system calls Also - depending on feedback - a refined API will be introduced.