Commit Graph
100 Commits
Author SHA1 Message Date
Caleb Gardner e1449da2f0 Fix memory leaks & inefficiencies 2025-06-07 02:07:45 -05:00
Caleb Gardner ddb81aade0 Rework caching_paged_reader into Table[T]
This *should* fix some issues with extraction due to race conditions
2025-06-06 15:46:25 -05:00
Caleb Gardner b2c8084f41 Minor tweaks 2025-06-06 15:46:25 -05:00
Caleb Gardner 81b663b48a Tested and working 2025-06-06 11:20:42 -05:00
Caleb Gardner 97214ca6ca Finished readers (theoretically) 2025-06-06 11:05:43 -05:00
Caleb Gardner 968dff82cb Fixed always showing hardlink info 2025-06-06 11:05:43 -05:00
Caleb Gardner 1f0868fb21 Added -show-hard-links to go-unsquashfs
Exposed the underlying squashfslow values for File and FS
2025-06-06 11:05:43 -05:00
Caleb Gardner f378136299 Added OpenFile to get a *squashfs.File instead of fs.File
Added -e to extract only specific files/folders
Only require the filename for -l, -ll, and -lln
2025-06-06 11:05:43 -05:00
Caleb Gardner 3378651686 Re-write data fullreader & reader
Moved directory and the rest of the inodes to manual decoding
2025-06-06 06:37:39 -05:00
Caleb Gardner f32cb520dc Zstd re-use 2025-04-16 18:02:19 -05:00
Caleb Gardner f991ddb1d4 Don't ignore permissions in benchmark tests 2025-04-16 16:22:32 -05:00
Caleb Gardner 4c8c9f0b47 Re-use zstd and zlib readers 2025-04-16 05:49:42 -05:00
Caleb Gardner 8a2556ea0d Remove test file 2025-04-16 05:16:58 -05:00
Caleb Gardner 33156751ca Merge pull request #39 from CalebQ42/perfExp
Performance
2025-04-10 11:26:24 -05:00
Caleb Gardner 6224c4be41 Further performance improvements
Further removed multiple pointer instances
Re-use decompression readers (except zstd due to bugs)
2025-04-10 11:20:55 -05:00
Caleb Gardner 6b0e9ef2c6 Reduce use of binary.Read and, by extention, reflection 2025-04-10 06:26:41 -05:00
Caleb Gardner 4490fc3873 Removed all the pointers 2025-04-10 02:15:24 -05:00
Caleb Gardner f242de2710 Better disabling of compression types 2025-03-17 06:53:29 -05:00
Caleb Gardner 88315ee384 Fix build flags 2025-03-17 06:28:31 -05:00
Caleb Gardner 1e2a8f4b75 go mod tidy 2025-03-17 06:22:24 -05:00
Caleb Gardner 863b03fb19 Updated README 2025-03-17 06:21:19 -05:00
Caleb Gardner d3f84344d1 Fix build flags in lzma.go & xz.go 2025-03-17 06:19:45 -05:00
Caleb Gardner ad24995b7b Change no_lzma and no_lzo to no_obsolete and no_gpl
Added build tags section to README
2025-03-17 06:16:25 -05:00
Caleb Gardner 638355ab71 Merge pull request #37 from afbjorklund/comp-none
Allow disabling lzo and lzma
2025-03-17 05:45:26 -05:00
Caleb Gardner 7323fe56f6 Merge pull request #35 from afbjorklund/list
Add list option to unsquashfs
2025-03-15 15:48:41 -05:00
Caleb Gardner 6286da31e1 Merge branch 'main' into list 2025-03-15 15:48:06 -05:00
Caleb Gardner 77c87a9653 Merge pull request #34 from afbjorklund/unsquashfs-offset
Allow mounting with an offset
2025-03-15 15:34:04 -05:00
Caleb Gardner 3a48a0bcdc Remove t.Fatal at end of single file test 2025-03-12 00:11:29 -05:00
Caleb Gardner f11416493e Apply FileMode fixes to Inode.Mode() 2025-03-12 00:09:02 -05:00
Caleb Gardner 619bb023b1 Fix missing fileInfo.Mode() types 2025-03-12 00:03:58 -05:00
Caleb Gardner 38e4761d21 Merge pull request #33 from afbjorklund/fileinfo-symlink
Properly show symlinks in Mode
2025-03-11 23:51:01 -05:00
Caleb Gardner 446f29df70 Empty io.Reader buffer on EOF 2025-03-04 04:33:47 -06:00
Caleb Gardner d6c8efcfe6 Removed writeToWriteAt
Didn't seem to have any performance advantage
2025-03-04 04:08:13 -06:00
Caleb Gardner d890932d5c Use WriterAt if it's available for FullReader 2025-02-27 07:19:04 -06:00
Caleb Gardner 87b5ac7f5d gopls modernize 2025-02-27 02:46:22 -06:00
Caleb Gardner e9fdd89c67 Merge pull request #31 from willmurphyscode/main
fix: remove stray println
2024-12-10 16:09:45 -06:00
Caleb Gardner 03266d0560 Fix frag, id, inode table values on block boundries
Fixes bug mention in #30
2024-11-26 17:09:39 -06:00
Caleb Gardner 0f8a4e0027 Re-added NewReaderAtOffset 2024-09-20 20:10:33 -05:00
Caleb Gardner 2a33cad709 PERFORMANCE
Changed some struct values from pointers to normal values for improved performance.
2024-07-17 09:30:16 -05:00
Caleb Gardner e9de9e6ad4 Merge pull request #28 from CalebQ42/exp1
Separation
2023-12-28 00:03:14 -06:00
Caleb Gardner ef72408cd0 Added inode number to directory.Entry 2023-12-27 23:55:57 -06:00
Caleb Gardner 144805e747 Rename squashfslow.Base to squashfslow.FileBase 2023-12-27 23:50:27 -06:00
Caleb Gardner bfba5d5b60 Rename squashfs/squashfs to squashfs/low
squashfs/low library name is now squashfslow
2023-12-27 23:25:49 -06:00
Caleb Gardner 17d45eea50 Finishing touches
Added FastOptions as an alternative to DefaultOptions
A few performance improvements
A few bug fixes
2023-12-27 21:35:40 -06:00
Caleb Gardner d9132ab6a4 Finished. Now for bug fixes 2023-12-24 18:20:05 -06:00
Caleb Gardner 5de59627df Started working on the main library (nearly complete) 2023-12-24 08:05:56 -06:00
Caleb Gardner b2a3920c1f Finished?
Everything seems to extract fine (though more testing is needed)
2023-12-24 06:02:11 -06:00
Caleb Gardner 0449a03428 Added data.FullReader and moved to low level library
Added ability to get readers from Base
2023-12-24 02:55:31 -06:00
Caleb Gardner 0574bbed39 Inode parsing and directory decoding 2023-12-23 05:47:21 -06:00
Caleb Gardner 707391baba Initial work
Create Reader
Pulled back in Inode decoding and superblock
New Data and Metadata readers
Added getting of id, fragment, and export table data lazily
Added README to squashfs/squashfs
2023-12-23 02:48:54 -06:00
Caleb Gardner d4d1b2c2b2 Reset to zero 2023-12-19 03:23:24 -06:00
Caleb Gardner fcd8c4c85b use filepath.Join instead of concatenation 2023-12-08 00:28:17 -06:00
Caleb Gardner 54d193a3df Possible fix for #22
Add sparse support for fragments (undocumented)
2023-08-12 13:30:15 -05:00
Caleb Gardner a129b259be Apply sparse file fix to reader 2023-08-11 18:15:11 -05:00
Caleb Gardner 87f7533a17 Fix Error decompressing files with lots of NULLs #24 2023-08-11 15:32:52 -05:00
Caleb Gardner 7e1a584e8f Fixed an error not being reported in full reader 2023-04-17 11:40:15 -05:00
Caleb Gardner 942e0f770f Set main folder permission 2023-04-17 10:38:44 -05:00
Caleb Gardner 7d16990277 Updated README 2023-04-17 10:33:27 -05:00
Caleb Gardner d2c72f9464 Limit number of simultaneous file extractions to prevent hardlock
Added helper extraction functions
chmod & chown is now set after a folder's extraction to prevent permission issues
2023-04-17 10:22:10 -05:00
Caleb Gardner 2ba4551fb9 Fixed stupid errors 2023-04-17 08:01:20 -05:00
Caleb Gardner 6931075e7e Testing better large file support 2023-04-17 07:51:08 -05:00
Caleb Gardner 55a25c9d45 Updated README 2023-04-12 08:44:48 -05:00
Caleb Gardner 94b45c8402 Added IgnorePerm to ExtractionOptions 2023-04-12 07:57:57 -05:00
Caleb Gardner 01de43a5ae Added ErrReadNotFile to ReatAt, WriteTo 2023-04-11 00:34:43 -05:00
Caleb Gardner 5b29f4d029 Updated README 2023-04-09 21:09:53 -05:00
Caleb Gardner 6c7e926649 Updated deps 2023-04-09 20:41:45 -05:00
Caleb Gardner 72d85d7810 Added (expiremental) support for device files and Fifo 2023-04-09 20:41:00 -05:00
Caleb Gardner 67df5f40c6 Fix #21 and update deps 2023-03-29 12:45:21 -05:00
Caleb Gardner 1ae5593e6c Merge pull request #20 from x1unix/main
fix: use correct ENODATA value on different platforms
2023-03-18 06:57:45 -05:00
Caleb Gardner e9e967f085 Fuse2 fix 2023-01-18 02:31:08 -06:00
Caleb Gardner 187da99dd6 Added fuse2 mounting 2023-01-17 10:20:11 -06:00
Caleb Gardner 75d2a29319 Export SquashFuse 2023-01-17 09:56:34 -06:00
Caleb Gardner ce2e45ceec Fixed issues with decompress.Decoder 2023-01-05 01:29:23 -06:00
Caleb Gardner 089ef53c8c Revert changes to fullreader 2023-01-04 06:40:57 -06:00
Caleb Gardner 658e5c9e0b Mount is non-blocking again 2023-01-04 06:01:12 -06:00
Caleb Gardner f2d86aff96 Fixed a race condition with mounts that caused them to fail 2023-01-04 05:41:43 -06:00
Caleb Gardner f61237a1f0 Added ReaderAtOffset 2022-12-22 02:00:42 -06:00
Caleb Gardner 820e06e792 fuse Serve in goroutine 2022-12-17 17:06:28 -06:00
Caleb Gardner 4f8f5f6928 Tweaks to decode interface 2022-12-17 16:47:33 -06:00
Caleb Gardner 1b5078c7bd Messing around with optimizations. 2022-12-14 13:48:22 -06:00
Caleb Gardner 56fdba2f28 Merge pull request #17 from CalebQ42/fuseBraz
Fuse SUCCESS
2022-12-03 02:50:17 -06:00
Caleb Gardner ffbf4ebc64 Fuse SUCCESS 2022-12-03 02:45:58 -06:00
Belac Darkstorm a015b16293 Clean path before checking if valid. 2022-10-24 03:17:55 -05:00
Caleb Gardner 327781d86e Fixed issues with fragments 2022-08-26 12:11:27 -05:00
Caleb Gardner 4efd2ee49d Merge pull request #16 from tri-adam/0.6.0-fixes
v0.6.0 fixes
2022-08-26 11:44:16 -05:00
Caleb Gardner 392193993c Added single file test 2022-08-26 11:43:46 -05:00
Caleb Gardner 7a22538623 Finishing touches? 2022-08-26 05:01:17 -05:00
Caleb Gardner 3bf851852f Updated README (limitations) 2022-06-21 01:25:00 -05:00
Caleb Gardner ac89ff7275 Updated README. Performance may not be very good... 2022-06-21 01:23:41 -05:00
Caleb Gardner 83dfa77b7d Potential workaround for poor zstd performance
Performance is still not great, but better
2022-06-21 01:09:33 -05:00
Caleb Gardner 1b934de04d Messing with stuff 2022-06-19 16:25:50 -05:00
Caleb Gardner 981f1697ab Added benchmark race to proper tests 2022-06-19 02:02:31 -05:00
Caleb Gardner 214419b5c3 IT WORKS (again) 2022-06-19 00:32:33 -05:00
Caleb Gardner 8f5e1fef96 NEW ISSUES 2022-06-18 14:40:33 -05:00
Caleb Gardner 49595de3f2 Re-wrote metadata reader. Seems to work now.
Need to work on test now.
2022-06-18 14:31:17 -05:00
Caleb Gardner 96b38935a6 Found the problem file.
NOW TO DEBUG
2022-06-18 06:46:00 -05:00
Caleb Gardner 9ac8fef3b2 Fixing issues 2022-06-18 06:30:04 -05:00
Caleb Gardner cde6a265a1 Started work on proper tests.
STILL HAVING STUPID UNEXPLAINABLE NIL POINTERS.
2022-06-18 01:32:51 -05:00
Caleb Gardner 8613e35221 Fixed some bugs
THINGS ARE BROKEN FOR NO REASON
2022-05-10 01:40:32 -05:00
Caleb Gardner 16ef5838c3 Move changes from exp2 to main
This is largely a move to simplify a lot of the readers
Also further breaks out functions.
2022-05-10 01:12:13 -05:00