2021-12-02 13:43:18 +01:00
2021-09-27 01:27:58 -05:00
2020-11-08 11:41:05 -06:00
2021-01-30 06:30:00 -06:00
2021-04-03 01:17:09 -05:00
2020-11-08 11:06:38 -06:00
2021-04-03 01:17:09 -05:00
2021-12-02 13:43:18 +01:00
2021-12-02 13:43:18 +01:00
2021-09-27 01:27:58 -05:00
2021-12-02 13:43:18 +01:00
2021-02-27 01:58:01 -06:00

squashfs (WIP)

PkgGoDev Go Report Card

A PURE Go library to read and write squashfs.

Currently has support for reading squashfs files and extracting files and folders.

Special thanks to https://dr-emann.github.io/squashfs/ for some VERY important information in an easy to understand format. Thanks also to distri's squashfs library as I referenced it to figure some things out (and double check others).

TODO

Limitations

This library is pure Go (including external libraries) which can cause some issues, which are listed below. Right now this library is also not feature complete, so check out the TODO list above for what I'm still planning on adding.

  • No LZO compression. This is purely due to a lack of a good LZO pure golang library. If one is made, it would be a simple job to add it in.
  • GZIP Compression
    • Strategies might or might not work.
    • Custom window sizes might or might not work.
  • XZ Compression
    • LZMA executable filters are NOT supported.
  • No Xattr parsing. This is simply because I haven't done any research on it and how to apply these in a pure go way.

Performane

This library, decompressing the Firefox AppImage and using go tests, takes about twice as long as unsquashfs on my quad core laptop. (~1 second with the library and about half a second with unsquashfs)

S
Description
A Go library to read squashfs archives.
Readme MIT 15 MiB
2026-03-08 06:11:15 -05:00
Languages
Go 100%