NanaZip icon indicating copy to clipboard operation
NanaZip copied to clipboard

List of formats planning to add support

Open MouriNaruto opened this issue 2 years ago • 21 comments

Here are some formats planning to add support in NanaZip development stage. I think users will be happy if I can implement all of these. But I also need some help.

Note: You can give your suggestions about the new formats want to be added in NanaZip as comments for this issue. I will read that without replying in most cases.

  • [ ] BTRFS filesystem image (Unpacking)
    • Implementation Reference: https://github.com/maharmstone/btrfs
      • Note: WinBtrfs's author suggested me to reference the other two implementations will reduce the integration work.
    • Implementation Reference: https://github.com/maharmstone/btrfs/blob/master/src/btrfs.h
    • Implementation Reference: https://github.com/maharmstone/quibble/tree/master/src/btrfs
  • [x] Electron Archive (asar) (Unpacking)
    • Implementation Reference: https://github.com/electron/asar
  • [x] .NET Single-file Publish binaries packing (Unpacking)
    • Implementation Reference: https://github.com/dotnet/designs/blob/main/accepted/2020/single-file/bundler.md
    • Implementation Reference: https://github.com/dotnet/designs/blob/main/accepted/2020/single-file/design_3_0.md#the-bundler
  • [ ] REFS filesystem image (Unpacking)
    • Implementation Reference: https://github.com/libyal/libfsrefs
      • Note: libfsrefs's author noted me that libfsrefs is work in progress, and currently mostly focussed on research of the format.
  • [x] UFS filesystem image (Unpacking)
    • Implementation Reference: https://github.com/freebsd/freebsd-src/tree/main/sys/ufs
  • [ ] WIM and ESD support with WIMGAPI backend (Packing and Unpacking)
    • Implementation Reference: Cooperate with DISM++'s author, @mingkuang-Chuyu
  • [ ] ZFS filesystem image (Unpacking)
    • Implementation Reference: OpenZFS (looks too complex to integrate)
    • Implementation Reference: ZFS On-Disk Specification (looks too complex to integrate)
  • [ ] ZPAQ (Packing and Unpacking)
    • Implementation Reference: https://github.com/zpaq/zpaq
    • Implementation Reference: https://github.com/fcorbelli/zpaqfranz
  • [ ] Some formats which not supported in NanaZip and not mentioned in this issue but mentioned in https://www.tc4shell.com/en/7zip
    • Implementation Reference: Not Available (Need to research first)
  • [ ] NXFFS (NuttX FLASH File System) filesystem image (Unpacking)
    • Implementation Reference: https://github.com/apache/nuttx/tree/master/fs/nxffs
  • [x] ROMFS filesystem image (Unpacking)
    • Implementation Reference: https://github.com/apache/nuttx/tree/master/fs/romfs
  • [ ] SMARTFS (NuttX SMART Flash File System) filesystem image (Unpacking)
    • Implementation Reference: https://github.com/apache/nuttx/tree/master/fs/smartfs
  • [ ] CROMFS (Compressed Read-Only File System) filesystem image (Unpacking)
    • Implementation Reference: https://github.com/apache/nuttx/tree/master/fs/cromfs
  • [ ] LITTLEFS filesystem image (Unpacking)
    • Implementation Reference: https://github.com/littlefs-project/littlefs
    • Implementation Reference: https://github.com/apache/nuttx/tree/master/fs/littlefs
  • [ ] SPIFFS (SPI Flash File System) filesystem image (Unpacking)
    • Implementation Reference: https://github.com/pellepl/spiffs
    • Implementation Reference: https://github.com/apache/nuttx/tree/master/fs/spiffs
  • [ ] MFS (Minix File System) filesystem image (Unpacking)
    • Implementation Reference: https://github.com/Stichting-MINIX-Research-Foundation/minix/tree/master/minix/fs/mfs
  • [ ] XFS filesystem image (Unpacking)
    • Implementation Reference: https://www.dubeyko.com/development/FileSystems/xfs.html
  • [ ] F2FS filesystem image (Unpacking)
    • Implementation Reference: https://docs.kernel.org/filesystems/f2fs.html
  • [ ] EROFS filesystem image (Unpacking)
    • Implementation Reference: https://docs.kernel.org/filesystems/erofs.html
  • [ ] exFAT filesystem image (Unpacking)
    • Implementation Reference: Microsoft document
  • [ ] BZIP3 (Packing and Unpacking)
    • Implementation Reference: https://github.com/kspalaiologos/bzip3
  • [ ] BCACHEFS filesystem image (Unpacking)
    • Implementation Reference: https://bcachefs-docs.readthedocs.io/en/latest/ondiskformat.html
  • [x] ZealFS filesystem image (Unpacking)
    • Implementation Reference: https://github.com/Zeal8bit/ZealFS

Kenji Mouri

MouriNaruto avatar May 03 '23 01:05 MouriNaruto

warc (ISO 28500:2017, wikipedia) is mentioned in tc4. It's also supported by libarchive (bsdtar), another "decompress anything" tool.

tc4 mentions a bunch of e-mail and usenet formats. these tend to be not too complex, but really ancient and hard to hunt down. having someone do it once and for all is of course great.

Artoria2e5 avatar May 06 '23 08:05 Artoria2e5

Now NanaZip can't unpack NSIS2020+ Package such as Unity Editor 2020+ Installer.

Unpacking&packing PRI is needed.

Unpack .unitypackage, NanaZip can't parse file path&name in zip

Unpack .resS,Implementation Reference:Perfare/AssetStudio

AndromedaMelody avatar May 06 '23 14:05 AndromedaMelody

Apple seems to have cooked up a new format called aar and made it the default output for their OS right-click. https://eclecticlight.co/2022/05/10/inside-apple-archive-more-than-a-compression-format/

Thing is, nobody knows what's in the format beyond what Apple APIs to call. So a very good-to-support format, but impossible to support for now.

Artoria2e5 avatar May 09 '23 03:05 Artoria2e5

To follow

Neustradamus avatar May 18 '23 16:05 Neustradamus

Any chance for this one to be supported?

https://github.com/FS-make-simple/paq9a

MxMaster3 avatar Jun 02 '23 07:06 MxMaster3

hmm, do people really use paq outside of compression challenges? It's even more niche than ZPAQ...

Artoria2e5 avatar Jun 02 '23 08:06 Artoria2e5

hmm, do people really use paq outside of compression challenges? It's even more niche than ZPAQ...

I've seen it do some extreme compression on these old psx iso roms -

https://archive.org/details/psxrip

MxMaster3 avatar Jun 02 '23 12:06 MxMaster3

  • #159
  • #181
  • #182
  • #178
  • #190
  • #223

AndromedaMelody avatar Jun 02 '23 15:06 AndromedaMelody

Asar would be nice, indeed

Stanzilla avatar Jun 14 '23 09:06 Stanzilla

I would like to request support for ZArchive (.ZAR/.WUA), here's a reference implementation. AFAICT it's just ZStd with a different container format...

mbc07 avatar Jun 18 '23 19:06 mbc07

With plugin in support i suggest the developer to release the source code these files I have read on some forums that contain malware

DevX-Cipher avatar Sep 04 '23 10:09 DevX-Cipher

The thing about "some forums" is that you can say whatever you want on them. I am all for making things open-source, but developers are free to do whatever they want given the plugin API license, and being a clueless panicking person who hasn't heard of VirusTotal is surely not a very persuasive way to encourage open-sourcing.

Artoria2e5 avatar Sep 05 '23 04:09 Artoria2e5

@Artoria2e5, it's within their discretion to make their choices. However, I haven't personally used or tested their services; my knowledge is based solely on feedback from other users and sources.

DevX-Cipher avatar Sep 05 '23 04:09 DevX-Cipher

Please don't add "advanced" filesystems (anything besides UDF/ISO9660/Juliet/Other-Optical-Formats, (ex)Fat(32), Maybe the ext file systems). Resist feature creep, stick to the core value of "archive opening utility"

JacobCarrell avatar Sep 30 '23 16:09 JacobCarrell

Some formats which not supported in NanaZip and not mentioned in this issue but mentioned in https://www.tc4shell.com/en/7zip

It would be very useful to have extraction support for disk images from Iso7z, at least BIN/CUE and IMG.

manfromarce avatar Jun 13 '25 14:06 manfromarce

Hi @MouriNaruto ,

I was wondering if plugin support is no longer being considered for NanaZip. If that's the case, will NanaZip continue to receive updates every time a new feature is requested by users? Just trying to understand the direction moving forward—what's the plan regarding this?

Thanks in advance!

DevX-Cipher avatar Jun 18 '25 07:06 DevX-Cipher

@DevX-Cipher

For external plugin support, you should read https://github.com/M2Team/NanaZip/issues/563 first.

Kenji Mouri

MouriNaruto avatar Jun 18 '25 07:06 MouriNaruto

Hi @MouriNaruto, I’ve created some plugins that might be useful if you're considering adding additional functionality directly into the NanaZip source code, without relying on an external plugin system. You're welcome to take a look and integrate them as you see fit: https://github.com/DevX-Cipher/7zip-plugin

I am also working on Xar archive for Windows as well

DevX-Cipher avatar Jun 20 '25 11:06 DevX-Cipher

@AndromedaMelody It would be helpful to implement proper support for opening and interacting with MSI installers—not just displaying the internal tables. Presenting only the tables can be confusing or unhelpful for many users. A more intuitive or user-friendly approach to opening and inspecting MSI files would greatly improve usability.

DevX-Cipher avatar Jun 23 '25 07:06 DevX-Cipher

Any chance for this one to be supported?

https://github.com/FS-make-simple/paq9a

@MxMaster3 this would be ideal as a plugin

DevX-Cipher avatar Jun 23 '25 07:06 DevX-Cipher

@MouriNaruto I have implemented pyinstaller archives in the source code I will make a pull request tomorrow please keep an eye out for it

DevX-Cipher avatar Jun 24 '25 15:06 DevX-Cipher

I would like to request (for the future, not high priority of course) support for extracting files from Inno Setup installer, NSIS is already supported and these are probably the most common installer types today.
For reference: jrsoftware/issrc, dscharrer/innoextract, InnoExtractor.

manfromarce avatar Nov 01 '25 10:11 manfromarce

@manfromarce I was working on a plugin for this. I have made plenty of plugins for 7zip

DevX-Cipher avatar Nov 01 '25 12:11 DevX-Cipher

@MouriNaruto I have made a ExFat plugin here https://github.com/DevX-Cipher/7zip-plugin/tree/main/CPP/7zip/Archive/Exfat

DevX-Cipher avatar Nov 10 '25 02:11 DevX-Cipher