[WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: sheep, Hacker, Stefan2, white

Post Reply
remittor
Junior Member
Junior Member
Posts: 39
Joined: 2019-10-02, 07:18 UTC

[WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *remittor »

PAXZ - packer plugin for working with PAX, LZ4, Zstd

A very long time ago, the TC-author promised to add support for the PAX format. But something went wrong.

Let us fix this situation.

Plugin features:
  • Creation and reading of PAX archives (standardized analogue of TAR).
  • Unpacking solid archives LZ4 and Zstd.
  • Transparent work with LZ4 and Zstd archives containing PAX archives inside.
Features:
  • Files with the paxz extension are completely equivalent to pax.zst files
  • Support 64-bit and Unicode.
  • When packing into an archive, all attributes of files and directories are saved.
  • Guaranteed the ability to unpack created archives using the multi-platform utilities: lz4/zstd, pax/gnutar.
  • Update progressbar no frequently than 0.5 seconds (to increase speed).
  • When archive unpacking, the attributes and creation time are set for the created directories. Now the real date of creating the directory can only be set by this plugin. This problem is described here.
  • Support for long file names during packaging and unpacking (up to 1023 characters).
Main Feature:
  • Implemented its own cache for openable archives. This unique feature eliminates the need to re-scan the entire archive when re-opening/editing. The cache is reset when the size or time of the last modification is changed (TC does the same with its cache).

Download: wcx_paxz_v0.4.zip
Notes:
  • Minimally version of Windows: WinXP SP2.
  • Recommended TotalCmd version: 7.55 or later.

TODO list:
  • Add the ability to delete and add files.
  • Add ChaCha20 encryption.
Last edited by remittor on 2020-01-01, 17:03 UTC, edited 1 time in total.
User avatar
Usher
Power Member
Power Member
Posts: 887
Joined: 2011-03-11, 10:11 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *Usher »

LZ4 and zstd are already supported as codecs for 7-zip. If anyone doesn't need PAX, he/she may download free modern7z plugin and needed codecs for 7-zip, install them in 7-zip directories as described in readme, then use Total7zip plugin for TC.
Regards from Poland
Andrzej P. Wozniak
remittor
Junior Member
Junior Member
Posts: 39
Joined: 2019-10-02, 07:18 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *remittor »

Usher wrote:
2020-01-01, 13:32 UTC
LZ4 and zstd are already supported as codecs for 7-zip.
Compression is added to the PAXZ-plugin only as an additional option.
The PAXZ-plugin does not create solid archives!
The PAXZ-plugin puts each file in a separate LZ4-frame or Zstd-frame. This feature allows you to quickly access the necessary file in the PAX-archive.
Usher wrote:
2020-01-01, 13:32 UTC
If anyone doesn't need PAX, he/she may download free modern7z plugin and needed codecs for 7-zip, install them in 7-zip directories as described in readme, then use Total7zip plugin for TC.
I tested this software. But I still could not get to read the contents of the TAR.ZST (TAR.GZ) archive, without preliminarily unpacking TAR file.
Although the author of the Modern7z wrote about this possibility.
User avatar
Usher
Power Member
Power Member
Posts: 887
Joined: 2011-03-11, 10:11 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *Usher »

Maybe you should try to create your own plugin for 7-zip?
Regards from Poland
Andrzej P. Wozniak
remittor
Junior Member
Junior Member
Posts: 39
Joined: 2019-10-02, 07:18 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *remittor »

Usher wrote:
2020-01-01, 14:00 UTC
Maybe you should try to create your own plugin for 7-zip?
For 7-zip utility it will not work to make the same plugin for the following reasons:
1. PAX format needs to be implemented directly in the 7z source code. Otherwise, only the internal file storage format (7z) will be available.
2. 7zip utility allows the creation of only solid archives for custom compression algorithms.

And also, I do not use 7zip utility.
User avatar
Usher
Power Member
Power Member
Posts: 887
Joined: 2011-03-11, 10:11 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *Usher »

2remittor
You can create plugin for 7-zip for decompressing only. I don't think that in this case you should dig directly in the 7-zip source code. There is SDK available for such needs.
remittor wrote:
2020-01-01, 14:17 UTC
And also, I do not use 7zip utility.
If you want PAX to be more popular you should support the most popular open source archiver, I think. The last mention about PAX support on 7-zip discussion forum was in June 2016:
https://sourceforge.net/p/sevenzip/discussion/45797/thread/f58b3570/#b104
Regards from Poland
Andrzej P. Wozniak
remittor
Junior Member
Junior Member
Posts: 39
Joined: 2019-10-02, 07:18 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *remittor »

Usher wrote:
2020-01-02, 01:54 UTC
If you want PAX to be more popular you should support the most popular open source archiver, I think.
I did not set myself the task of popularizing PAX format.

The GNU community has announced that it will not develop the TAR format, but will switch to a standardized PAX format.
GnuTar utility has basic support for PAX format.
Under Windows MS also released a utility for working with PAX files.
But few people use console utilities under Windows.

Therefore, it was decided to create such a WCX-plugin for TotalCmd. It is PAX that allows you to save absolutely any file attributes from any operating system (TAR and 7z cannot do this).

It is these features that prompted the creation of this WCX-plugin.
Usher wrote:
2020-01-02, 01:54 UTC
The last mention about PAX support on 7-zip discussion forum was in June 2016:
https://sourceforge.net/p/sevenzip/discussion/45797/thread/f58b3570/#b104
I believe that Igor Pavlov will soon realize the support of PAX, because it has already been implemented in gnutar utility for a long time.
But Christian Ghisler also wanted to implement PAX, but in the end (like Igor Pavlov) he limited himself to the implementation of extensions for TAR.
User avatar
Usher
Power Member
Power Member
Posts: 887
Joined: 2011-03-11, 10:11 UTC

Re: [WCX] PAXZ - packer plugin for working with PAX, LZ4, Zstd

Post by *Usher »

remittor wrote:
2020-01-02, 07:08 UTC
Under Windows MS also released a utility for working with PAX files.
Yeah, sure:
Wikipedia wrote:Interix was an optional, POSIX-conformant Unix subsystem for Windows NT operating systems.
(...)
It was available as a deprecated separate download for Windows 8 and Windows Server 2012, and not available at all on Windows 10.
remittor wrote:
2020-01-02, 07:08 UTC
I believe that Igor Pavlov will soon realize the support of PAX, because it has already been implemented in gnutar utility for a long time.
Really? PAX support was asked on 7-zip forum in 2007 for the first time, now is 2020 and PAX is still used vary rarely. What is more, many software implementations still don't support even standard TAR features properly. You can find many examples of such incompatibilities on 7-zip forum.
Regards from Poland
Andrzej P. Wozniak
Post Reply