UExtract-4.2

Miscellaneous tools
Message
Author
User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#41 Post by SFR »

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. :wink:

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]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#42 Post by amigo »

"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

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#43 Post by mikeb »

Thanks SFR .. Its fun to get carried away :)

regards

Mike

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#44 Post by amigo »

@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.

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#45 Post by mikeb »

Very readable -nicely indented, etc.
Someone should buy Barry a 'tab' key for christmas :D

mike

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#46 Post by SFR »

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. :lol:

Ok, I'm waiting for the diff, thanks. 8)
______________
mikeb wrote:
Very readable -nicely indented, etc.
Someone should buy Barry a 'tab' key for christmas :D

mike
:idea: :D :wink:

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]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#47 Post by amigo »

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!

User avatar
mikeb
Posts: 11297
Joined: Thu 23 Nov 2006, 13:56

#48 Post by mikeb »

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

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#49 Post by SFR »

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. 8)

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]

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#50 Post by SFR »

SFR wrote:Ok, now I'm really taking a break. 8)
I lied, version 1.7:
- 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]

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#51 Post by SFR »

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!
[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]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#52 Post by amigo »

Are you keeping any notes about what the filetypes are?

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#53 Post by SFR »

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!
[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]

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#54 Post by SFR »

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!
http://www.pismotechnic.com/cfs/ wrote:Basic CFS files are compatible with ISO files, and can be read by many existing applications and systems.
.package (Autopackage format)
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] :wink:

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]

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

#55 Post by Ted Dog »

could you look into porteus XZM modules, I copy/rename them as sfs and I can look into them but not merge them as sfs files, I think they may have a config.file run to merge them in.

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#56 Post by SFR »

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!
[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]

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

#57 Post by Ted Dog »

Nope But thanks now I know where to look, :wink: a porteus spin has worked out the MESH networking, and I'm trying to get its unique xzm module to be useable by puppy.

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#58 Post by SFR »

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. :wink:
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..? :roll:

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]

User avatar
Ted Dog
Posts: 3965
Joined: Wed 14 Sep 2005, 02:35
Location: Heart of Texas

#59 Post by Ted Dog »

I think its near enough... The are using pBurn as is and not even bothering to change its puppylinux name in the help! The may have even choicen a p... named linux so Pburn, Pmusic, Pmount etc sound native... :wink:

User avatar
SFR
Posts: 1800
Joined: Wed 26 Oct 2011, 21:52

#60 Post by SFR »

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:

Code: Select all

cat some_picture.gif some_app.jar > pic_and_app.gifar
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!
[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]

Post Reply