Commit Graph

156 Commits

Author SHA1 Message Date
Caleb Gardner e302d98665 Further work on extracting
Extracting files is threaded with goroutines.
Extracting also sets the proper UID and GUID
Made recursive children getting threaded with goroutines
Decided I will allow wildcards in paths. Hasn't been implemented though.
Fixed issues with ExtendedDirectory reading (I was using a uint16 instead of a uint32)
I couldn't test basically any of this. somehow a for loop isn't incrementing. For seemingly no reason.
2020-12-01 06:14:09 -06:00
Caleb Gardner 1254df2861 Working on extracting files. 2020-11-30 15:13:47 -06:00
Caleb Gardner c5c6291643 Some more work on ExtractTo
Added Xz compression support
Started testing using a big squashfs fil (particularly the squashfs from an Arch Linux install img)
2020-11-30 03:53:57 -06:00
Caleb Gardner 508a33b323 Starting work on ExtractTo from File
When using ExtractTo, will automatically set the correct permissions
Will also be able to extract folders
2020-11-29 15:55:06 -06:00
Caleb Gardner c5f1962e72 Some documentation changes 2020-11-29 03:07:34 -06:00
Caleb Gardner faf9153323 Added zlib compression for absolutely zero reason 2020-11-28 11:05:38 -06:00
Caleb Gardner e20213c3f7 Reorganization. 2020-11-28 05:03:56 -06:00
Caleb Gardner edd63a422b Support for ../ in directory paths v0.2.1 2020-11-28 02:39:58 -06:00
Caleb Gardner 938fd30d73 Updated README 2020-11-28 02:35:46 -06:00
Caleb Gardner cea69188d4 Symlink file support
You can get the path that the symlink is pointing to, AND get the squashfs.File for it.
You can also now give a path FROM a given squashfs.File directory.
2020-11-28 02:22:48 -06:00
Caleb Gardner 23ec7ea6dd First version of File interface.
This will allow you to easily find and extract files.
Extraction of whole folders coming next. (Maybe)
v0.2.0
2020-11-27 00:36:21 -06:00
Caleb Gardner 8358cb2805 Added a couple ways to find a particular file. 2020-11-26 09:16:55 -06:00
Caleb Gardner 9471b93ead Working on a better API to interact with squashfs
New API uses a File that can hold more information.
2020-11-26 03:47:44 -06:00
Caleb Gardner 77222f55f5 More setup for Files. 2020-11-25 13:57:38 -06:00
Caleb Gardner 9beca864c3 Starting work on file.
File will be the primary way to interact with squashfs files in the future.
I will be making Files for both reading and writing
2020-11-25 13:20:42 -06:00
Caleb Gardner b28b4ae978 Test now use a straight appimage.
Reads straight from the appimage instead of extracting the squashfs first
2020-11-25 12:12:16 -06:00
Caleb Gardner 426903a222 Renamed library to squashfs for ease of use v0.1.1 2020-11-25 10:51:59 -06:00
Caleb Gardner dcb26057fa Updated README 2020-11-25 08:57:18 -06:00
Caleb Gardner b21d16d5aa Added documentation badge v0.1.0 2020-11-25 08:38:58 -06:00
Caleb Gardner f38db6107f updated go module 2020-11-25 08:32:43 -06:00
Caleb Gardner c0291e3ac7 Made a few straggler functions private 2020-11-25 08:31:24 -06:00
Caleb Gardner afbc991f60 Made most functions private.
This will probably be the first version of the library.
2020-11-25 08:27:15 -06:00
Caleb Gardner 5d888eb761 Updated README 2020-11-25 04:30:41 -06:00
Caleb Gardner f0f32a2445 FILE EXTRACTION WORKS! 2020-11-25 04:26:48 -06:00
Caleb Gardner af36f9b9aa Documentation!
Though may functions/structs will be made private, I still want things documented.
2020-11-25 01:15:54 -06:00
Caleb Gardner 4f058f2f31 Working on file reading (Not working right now) 2020-11-24 22:26:16 -06:00
Caleb Gardner 5761ad59cf Renamed BlockReader to MetadataReader (more correct)
SOME work on fragments (not working still...)
2020-11-23 16:50:00 -06:00
Caleb Gardner ae2cc5ab54 Working on fragments 2020-11-23 06:44:39 -06:00
Caleb Gardner de45fc927d Updated README 2020-11-20 17:04:09 -06:00
Caleb Gardner 9d03089530 Updated README 2020-11-20 17:03:16 -06:00
Caleb Gardner fd69ad54c6 More work on data reading 2020-11-20 17:01:45 -06:00
Caleb Gardner fe0f4ef05f Working on reading data.
Set up go modules
2020-11-20 03:59:38 -06:00
Caleb Gardner bc9adf8ade You can lookup an inode via a string path now
Removed DecompressCopy (as I wasn't using it)
Started work on fragments
2020-11-19 22:27:10 -06:00
Caleb Gardner 33af16071d I can now read the entire directory structure. 2020-11-19 13:27:13 -06:00
Caleb Gardner d43ed54874 Updated README 2020-11-19 10:57:29 -06:00
Caleb Gardner 87ccd0f346 I CAN READ A DIRECTORY NOW
I've only tested it with the root dir, but should work for all directories.
2020-11-19 10:50:02 -06:00
Caleb Gardner be1be40a17 Further work on directory table reading 2020-11-18 22:24:26 -06:00
Caleb Gardner 774366004c Some work on reading the root inode's dir table 2020-11-16 16:08:23 -06:00
Caleb Gardner 7a2f9a87ba Re-wrote a bunch to try to figure out why things weren't working.
Turned out I was reading if a block was compressed exactly opposite.
Started to work more on looking up dirs.
2020-11-16 14:56:19 -06:00
Caleb Gardner 06b188d53c Restarted some stuff so I can do it better.
Made a reader that can reade across data blocks if necessary
Still can't get things to read right
2020-11-13 16:11:44 -06:00
Caleb Gardner dbf7e9465a Directorty table info parsing.
Futher work on reading data.
2020-11-13 04:47:54 -06:00
Caleb Gardner f135457443 BasicFile should work fully.
More documentation (I hate it)
2020-11-12 21:40:00 -06:00
Caleb Gardner 78c35cf720 Further work on Inode 2020-11-12 09:50:52 -06:00
Caleb Gardner 8fa093763f Possibly finished gzip compression option
More metadata stuff
Started work on inode parsing
2020-11-11 02:55:21 -06:00
Caleb Gardner 89b19b06f6 more work on decompression 2020-11-10 22:31:21 -06:00
Caleb Gardner ac2b6da841 Got my reader done? 2020-11-10 13:23:00 -06:00
Caleb Gardner 1d641259b2 Somre more stuff for parsting
Working on metadata parsing
Runnning into some Reader issues so I might create my own.
2020-11-10 11:25:56 -06:00
Caleb Gardner 81299c3872 Added some TODOs 2020-11-10 06:03:56 -06:00
Caleb Gardner 29400334c7 Updated README 2020-11-10 05:59:17 -06:00
Caleb Gardner 630e6e0f7c Starting on writing the library
Currently just parses the superblock (but that works!)
2020-11-10 05:54:49 -06:00