UExtract-4.2
If it comes for browsing archives (or extracting specific files) I switched to File Roller long time ago.
Supports 7z very well.
PeaZip also isn't bad...
_____________
Update, version 1.5
- fixed: problems with some .deb pkgs
- added: warning msg if given extraction tool isn't installed
- some minor corrections
First post updated!
Ok, I think that's it (for now). I need a break anyway.
Thank you all &
Greetings!
Supports 7z very well.
PeaZip also isn't bad...
_____________
Update, version 1.5
- fixed: problems with some .deb pkgs
- added: warning msg if given extraction tool isn't installed
- some minor corrections
First post updated!
Ok, I think that's it (for now). I need a break anyway.
Thank you all &
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
"But what if the destination dir already exists or we're extracting identically named archive.tar" Most extractors will overwrite existing files by default. Some, at least, are configurable from cli options.
"contains only one and only a subdir" & "move all stuff from subdir one level up" This is basically what I do in src2pkg, although most compressors will show us a listing -but it can still be hard to tell if a toplevel is really the top -and top of where? An archive which is an installable package may have no toplevel, but include several subdirs.
Heuristics would suggest that *.zip, *.rar and any formats commonly found on windows machines would be more likely to be a tar 'bomb. It also suggests that archives named like this: *.tar.gz are less likely to be 'tar bomb' than those with names like: *.tgz
"contains only one and only a subdir" & "move all stuff from subdir one level up" This is basically what I do in src2pkg, although most compressors will show us a listing -but it can still be hard to tell if a toplevel is really the top -and top of where? An archive which is an installable package may have no toplevel, but include several subdirs.
Heuristics would suggest that *.zip, *.rar and any formats commonly found on windows machines would be more likely to be a tar 'bomb. It also suggests that archives named like this: *.tar.gz are less likely to be 'tar bomb' than those with names like: *.tgz
@SFR, I had a pretty long look yesterday at your code and I've gotta say it looks pretty good! Very readable -nicely indented, etc.
I did see a couple of rough spots though -I'll post a diff a little later with a fix or two.
I can see the logic in supporting filesytem images, like *.iso and *.sfs files, but I really think you ought to pull the video/audio/pdf stuff out of the tool. An archiver is usually meant to work with groups of archived/compressed files. The audi/video features would go nicely in their own little utility and pdf/other document tools could go elsewhere.
Then you might look at incorporating ideas from ZipZap for handling dropping files/dirs onto the AppDir.
I did see a couple of rough spots though -I'll post a diff a little later with a fix or two.
I can see the logic in supporting filesytem images, like *.iso and *.sfs files, but I really think you ought to pull the video/audio/pdf stuff out of the tool. An archiver is usually meant to work with groups of archived/compressed files. The audi/video features would go nicely in their own little utility and pdf/other document tools could go elsewhere.
Then you might look at incorporating ideas from ZipZap for handling dropping files/dirs onto the AppDir.
Hey Amigo
As for ffmpg/pdf, I understand your point and you almost convinced me, but I'd like to draw attention on an elusive difference: it's not verbatim "unarchive" utility, but more generic "extraction" utility.
TBH, if I called it, e.g. "Unarchiver" or similar, I'd have never thought to put such stuff into it.
Yeah, at the beginning I had only archives in mind, but over the time my guideline evolved to: "If the manner of processing this [format to be added] fits to (or at least doesn't abuse glaringly) the meaning of 'extraction' - put it in!".
And although this kind of logic has enslaved me, I'm gonna rethink this once more...and perhaps I'll follow what my heart says, not my mind.
Ok, I'm waiting for the diff, thanks.
______________
Greetings!
As for ffmpg/pdf, I understand your point and you almost convinced me, but I'd like to draw attention on an elusive difference: it's not verbatim "unarchive" utility, but more generic "extraction" utility.
TBH, if I called it, e.g. "Unarchiver" or similar, I'd have never thought to put such stuff into it.
Yeah, at the beginning I had only archives in mind, but over the time my guideline evolved to: "If the manner of processing this [format to be added] fits to (or at least doesn't abuse glaringly) the meaning of 'extraction' - put it in!".
And although this kind of logic has enslaved me, I'm gonna rethink this once more...and perhaps I'll follow what my heart says, not my mind.
Ok, I'm waiting for the diff, thanks.
______________
mikeb wrote:Someone should buy Barry a 'tab' key for christmasVery readable -nicely indented, etc.
mike
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
I think you could make two or three nice apps out of that code...
But, I've fallen into the same thinking -nearly every time I get good and started with a utility. There's always a tendency to over-reach with the scope of a project. Of course, you're gonna do just what you like with it anyway.
@mikeb You quoted what is, from me, high praise. This tool from SFR is maybe the most readable code I have ever seen on this site!
But, I've fallen into the same thinking -nearly every time I get good and started with a utility. There's always a tendency to over-reach with the scope of a project. Of course, you're gonna do just what you like with it anyway.
@mikeb You quoted what is, from me, high praise. This tool from SFR is maybe the most readable code I have ever seen on this site!
Many a fun time I have had adding tabs to puppy scripts....
Hmm 'a get stuff out of anything tool'.... i catch your drift... I feared another pburn too but I am one for making simple gui's to do all that command line work simply because my memory would let me down.
Now if you could make it extract money...........
mike
Hmm 'a get stuff out of anything tool'.... i catch your drift... I feared another pburn too but I am one for making simple gui's to do all that command line work simply because my memory would let me down.
Now if you could make it extract money...........
mike
I didn't plan to update it so quick, but since I found rather important bug, I won't be waiting, so here it is, v1.6:
- bugfix: if an archive contains one or more empty directories, they won't get unpacked
- added: warning at install time about missing dependencies (if any)
- removed .mht (it was never working too well, anyways)
- minor internal improvements
And a couple of new formats:
.cramfs (it was there before, in one of previous version, but got lost somehow)
.sqfs
.udf
Ok, now I'm really taking a break.
First post updated!
Greetings!
- bugfix: if an archive contains one or more empty directories, they won't get unpacked
- added: warning at install time about missing dependencies (if any)
- removed .mht (it was never working too well, anyways)
- minor internal improvements
And a couple of new formats:
.cramfs (it was there before, in one of previous version, but got lost somehow)
.sqfs
.udf
Ok, now I'm really taking a break.
First post updated!
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
I lied, version 1.7:SFR wrote:Ok, now I'm really taking a break.
- fixed typo (was 'unzx' instead of 'unxz')
- all 'xz -d' occurencies replaced with 'unxz' (for consistency)
- animated GIFs extraction (using gifsicle)
- can extract "naked" (extensionless, i.e. already gunzip'ed) initrd
- more 'fool-proof' mechanisms
- got rid of awk dependency
- some internal rearrangements
First post updated!
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Update, version 1.8:
New extensions:
.flf (figlet font)
.ima
.msu
.oxt
.pak
.tarz
.themepack (Win7's)
.tz
.vbox-extpack
New formats:
- can extract Mozilla's .mar archives.
- can extract El Torito 1.2M/1.44M/2.88M boot image from within bootable ISO.
Will be saved as ./0_UExtract_BOOTIMAGE/FLOPPY.img (so won't get mixed with "normal" content) inside the extraction directory.
Of course such FLOPPY.img can be (in most cases) extracted further via UExtract.
The above pair is handled by my own routines, working on similar principles as exploderpm.
First post updated!
Greetings!
New extensions:
.flf (figlet font)
.ima
.msu
.oxt
.pak
.tarz
.themepack (Win7's)
.tz
.vbox-extpack
New formats:
- can extract Mozilla's .mar archives.
- can extract El Torito 1.2M/1.44M/2.88M boot image from within bootable ISO.
Will be saved as ./0_UExtract_BOOTIMAGE/FLOPPY.img (so won't get mixed with "normal" content) inside the extraction directory.
Of course such FLOPPY.img can be (in most cases) extracted further via UExtract.
The above pair is handled by my own routines, working on similar principles as exploderpm.
First post updated!
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Nope - most of them (origin) I remember.
But this site partially helps, when I can't recall: http://www.fileinfo.com/.
Do you have any particular filetype(s) in mind?
Greetings!
But this site partially helps, when I can't recall: http://www.fileinfo.com/.
Do you have any particular filetype(s) in mind?
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Update, version 1.9:
New formats/extensions:
.2fs|.3fs|.4fs (savefiles - both plain & encrypted)
.cpgz (same as cpio.gz)
.gz2 (misnamed bz2 file, lol)
.tar.gz2 (ditto)
.gzi (same as .gz)
.gzip (same as .gz)
.ipg (iPod game...not tested, but it's rumored that it's just a zip)
.jgz (gzipped Javascript file)
.pcv (MozBackup profile backup. Really - zip)
.piz (renamed .zip)
.psz (gzipped PostScript file)
.shr (same as .shar)
.taz (same as .tarz, .tz, .tar.Z, etc.)
.tlzma (was .tzma before, corrected)
.uue (same as .uu)
.xar (handled by 7z, so bye-bye permissions and stuff. )
.cfs (Compact File Set) - only basic & unencrypted!
This one is handled manually (not via 'package_name.package --extract') due to lack of '--bytes' option in 'tail' in Slacko (and probably other Puppies).
Extracts both metadata and payload into a separate subdirs.
Doesn't verify MD5 (if something's wrong, appropriate unpacker will shout).
I obtained two of such packages and it works, but can't guarantee 100% reliability.
.pkg (Mac OS X Installer Package)
Two phases:
1. Extracts the main package (it's xar) using 7z
2. Extracts all 'Payload' and 'Scripts' subarchives using gunzip & cpio and removes them.
.txt - now UExtract can extract separate characters from a text file! [/jk]
What else:
- For consistency and better dependency checking 'tar j/z/J' changed to 'bunzip2/gunzip/unxz | tar'
- I noticed that encrypted zip archives created with 7z cannot be unpacked with 'unzip'.
So now, if extraction of 'zip' related archive fails, 7z (if present) will be used.
- fixed output of 'uextract -d | more'
- some fixes & cleanings
First post updated!
Greetings!
New formats/extensions:
.2fs|.3fs|.4fs (savefiles - both plain & encrypted)
.cpgz (same as cpio.gz)
.gz2 (misnamed bz2 file, lol)
.tar.gz2 (ditto)
.gzi (same as .gz)
.gzip (same as .gz)
.ipg (iPod game...not tested, but it's rumored that it's just a zip)
.jgz (gzipped Javascript file)
.pcv (MozBackup profile backup. Really - zip)
.piz (renamed .zip)
.psz (gzipped PostScript file)
.shr (same as .shar)
.taz (same as .tarz, .tz, .tar.Z, etc.)
.tlzma (was .tzma before, corrected)
.uue (same as .uu)
.xar (handled by 7z, so bye-bye permissions and stuff. )
.cfs (Compact File Set) - only basic & unencrypted!
.package (Autopackage format)http://www.pismotechnic.com/cfs/ wrote:Basic CFS files are compatible with ISO files, and can be read by many existing applications and systems.
This one is handled manually (not via 'package_name.package --extract') due to lack of '--bytes' option in 'tail' in Slacko (and probably other Puppies).
Extracts both metadata and payload into a separate subdirs.
Doesn't verify MD5 (if something's wrong, appropriate unpacker will shout).
I obtained two of such packages and it works, but can't guarantee 100% reliability.
.pkg (Mac OS X Installer Package)
Two phases:
1. Extracts the main package (it's xar) using 7z
2. Extracts all 'Payload' and 'Scripts' subarchives using gunzip & cpio and removes them.
.txt - now UExtract can extract separate characters from a text file! [/jk]
What else:
- For consistency and better dependency checking 'tar j/z/J' changed to 'bunzip2/gunzip/unxz | tar'
- I noticed that encrypted zip archives created with 7z cannot be unpacked with 'unzip'.
So now, if extraction of 'zip' related archive fails, 7z (if present) will be used.
- fixed output of 'uextract -d | more'
- some fixes & cleanings
First post updated!
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Hey Ted
UExtract already supports extracting of .xzm modules (using unsquashfs4).
As for merging/creating them, I don't know too much about that process; did you check how it's done in /opt/porteus-scripts/dir2xzm script?
Greetings!
UExtract already supports extracting of .xzm modules (using unsquashfs4).
As for merging/creating them, I don't know too much about that process; did you check how it's done in /opt/porteus-scripts/dir2xzm script?
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Oh, now I see what you're trying to achieve. Hmm, when all the contents are already extracted, it would be just a matter to use dir2pet or dir2sfs, I guess.
But the question is, if the "guts" are compatible enough with Puppy.
Anyway, good luck!
__________________
Darn, I just discovered what a mess those .run installers really are - each one have different option for extracting!
And although I kinda improved the routine and now it supports amd-driver.run, nvidia-driver.run and VirtualBox.run installers, I decided to withdraw this ability for now - who knows how many more are out there and how would they behave..?
Version 1.10 uploaded.
Greetings!
But the question is, if the "guts" are compatible enough with Puppy.
Anyway, good luck!
__________________
Darn, I just discovered what a mess those .run installers really are - each one have different option for extracting!
And although I kinda improved the routine and now it supports amd-driver.run, nvidia-driver.run and VirtualBox.run installers, I decided to withdraw this ability for now - who knows how many more are out there and how would they behave..?
Version 1.10 uploaded.
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]
Update, version 1.11:
More...
.azw2 (Kindle Active Content App File - zip)
.cgz (same as .cpio.gz)
.cvd (ClamAV virus database. Really - tar.gz, starts @ 0x200)
.fpl/.vfd (floppy images)
.gadget (Windows sidebar gadget - zip, or sometimes cab)
.gem (RubyGems Package - tar & tar.gz)
.imz (zipped .ima)
.ipa (iPod application - zip)
.ipsw (iPod/iPhone Software Update File - zip. Contains encrypted .dmg files - 7z can't handle them, unfortunately).
.ita (IconTweaker Theme Archive - zip)
.obt (Openbox Theme - tar.gz)
.squashfs (same as .sqfs)
.studyarch (The Study Archive Format - zip)
.tazpkg (SliTaz package - cpio & cpio.lzma)
.tcz (TinyCore package - squashfs)
.thm (Sony Ericsson Theme File - tar)
.u3p (U3 Smart Application - zip)
.utz (UIQ Theme Package - yep, it's zip)
.widget (Microsoft Windows Mobile Widget - zip again)
.xap (Silverlight Application Package - what a surprise...zip)
.gifar
It's a malware, lol.
Extracts both .gif and .jar parts from within a file.
Well, actually such extension doesn't really exist - what haxor would name it like that anyway?
It'd be like "Hey everybody, this file contains malicious code."
But if anyone wants to create one, for testing purposes:
Such a "picture" still can be viewed and, to execute the .jar part, use 'java -jar pic_and_app.gifar'.
Quite a fun to have two functional things in one piece.
What else:
- got rid of pet2tgz dependency - now .pets are being unpacked directly
- minor fixes
First post updated!
Greetings!
More...
.azw2 (Kindle Active Content App File - zip)
.cgz (same as .cpio.gz)
.cvd (ClamAV virus database. Really - tar.gz, starts @ 0x200)
.fpl/.vfd (floppy images)
.gadget (Windows sidebar gadget - zip, or sometimes cab)
.gem (RubyGems Package - tar & tar.gz)
.imz (zipped .ima)
.ipa (iPod application - zip)
.ipsw (iPod/iPhone Software Update File - zip. Contains encrypted .dmg files - 7z can't handle them, unfortunately).
.ita (IconTweaker Theme Archive - zip)
.obt (Openbox Theme - tar.gz)
.squashfs (same as .sqfs)
.studyarch (The Study Archive Format - zip)
.tazpkg (SliTaz package - cpio & cpio.lzma)
.tcz (TinyCore package - squashfs)
.thm (Sony Ericsson Theme File - tar)
.u3p (U3 Smart Application - zip)
.utz (UIQ Theme Package - yep, it's zip)
.widget (Microsoft Windows Mobile Widget - zip again)
.xap (Silverlight Application Package - what a surprise...zip)
.gifar
It's a malware, lol.
Extracts both .gif and .jar parts from within a file.
Well, actually such extension doesn't really exist - what haxor would name it like that anyway?
It'd be like "Hey everybody, this file contains malicious code."
But if anyone wants to create one, for testing purposes:
Code: Select all
cat some_picture.gif some_app.jar > pic_and_app.gifar
Quite a fun to have two functional things in one piece.
What else:
- got rid of pet2tgz dependency - now .pets are being unpacked directly
- minor fixes
First post updated!
Greetings!
[color=red][size=75][O]bdurate [R]ules [D]estroy [E]nthusiastic [R]ebels => [C]reative [H]umans [A]lways [O]pen [S]ource[/size][/color]
[b][color=green]Omnia mea mecum porto.[/color][/b]
[b][color=green]Omnia mea mecum porto.[/color][/b]