Updated README

This commit is contained in:
Caleb Gardner
2020-11-25 04:30:41 -06:00
parent f0f32a2445
commit 5d888eb761
+8 -7
View File
@@ -1,13 +1,15 @@
# GoSquashfs
A PURE Go library to read and write squashfs. Right now I'm focusing on unsquashing.
Currently IS NOT a functional library. Some things that are currently public IS going to become private. Not very well documented either.
A PURE Go library to read and write squashfs.
Currently, you can read a squashfs and extract files (only files at the moment). Many things are public that shouldn't be, but you can use it by using NewSquashfsReader and subsequent ReadFile.
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](https://github.com/distr1/distri/tree/master/internal/squashfs) as I referenced it to figure some things out (and double check others).
# Working
* Extracting files from string paths
* Reading the header
* Reading metadata blocks (whether encrypted or not)
* Reading inodes
@@ -17,18 +19,17 @@ Thanks also to [distri's squashfs library](https://github.com/distr1/distri/tree
# Not Working (Yet). Roughly in order.
* Figure out fragments (I can't seem to make them work ATM)
* Reading the UID, GUID, Xatt, Compression Options, and Export tables.
* Extracting files
* from inodes.
* from path.
* from file info.
* Give a list of files
* In io.FileStat (?) form
* Reading the UID, GUID, Xatt, Compression Options, Export, and Fragment tables.
* Reading the UID, GUID, Xatt, Compression Options, and Export tables.
* Implement other compression types (Should be relatively easy)
* Squashing
* Threading processes to speed them up
# Where I'm at.
* I've given up on fragments for now and will work on reading files.
* Once I have basic file reading working, I'll have a first pre-release available. No fragment support, but shouldn't be too hard... right?
* I FINALLY GOT FILE EXTRACTION WORKING!!