Plugins

Archive Panel

Browse ZIP, JAR, WAR, EAR, RAR, TAR and GZIP archives in the file panel.

Version 1.0.11 Official plugin Released 214 downloads

Install it from Commander: Plugins → Manage, or drop the signed bundle into the plugins/ directory.

What this bundle provides

One download, 1 plugin.

Archive Panel

dev.nuclr.plugin.core.mount.zip

Browse ZIP, JAR, WAR, EAR, RAR, TAR and GZIP archives in the file panel.

FilePanel Apache-2.0

About

🗜️ Archive File Panel

An official Nuclr Commander plugin that lets the file panel browse the contents of common archive formats. Navigate into ZIP, JAR, RAR, TAR, and other archives as if they were directories — from either panel.

🧩 Supported formats

Extension(s)Handling
.zip, .jar, .war, .earNIO mount (in-place, writable for unencrypted archives)
.zip (encrypted)Password prompt → extract to temp (read-only)
.rarExtract to temp via junrar (read-only)
.tar, .gz, .tgz, .tar.gzExtract to temp via Commons Compress (read-only)

💡 NIO-mounted archives support write operations (delete, create folder) without extraction. Extracted archives are read-only.

✨ What it does

FeatureDetails
📂 Archive navigationEnter any supported archive from the opposite panel
🔓 Encrypted ZIPPassword prompt with retry on wrong password
🔤 Charset detectionScores ZIP entry names against UTF-8, CP866 and windows-1251 to recover mangled names
📦 Nested archivesArchives inside archives are materialised to temp files and mounted recursively
👁️ View / Quick viewF3/F4 and quick view work on entries inside archives
📋 Copy (F5)Extract entries out to the opposite panel, or add files into a writable NIO-mounted archive
✂️ Move (F6)Move entries within a writable NIO-mounted archive
🗑️ Delete (F8)Supported inside NIO-mounted ZIP-family archives
📁 New folder (F7)Supported inside NIO-mounted ZIP-family archives
📌 ClipboardCopy entries or their in-archive paths to the system clipboard
🔤 SortingName / extension / size / modified / unsorted, plus the sort dialog (Ctrl+F3…Ctrl+F12)
🛡️ Extraction limitsEntry-count, per-entry, total-size and expansion-ratio budgets guard against zip bombs
🚧 Traversal protectionTAR/RAR entries are resolved under the target directory; ../ escapes are rejected
↩️ Exit archiveNavigate to .. at the archive root to close and return to the parent panel

🛡️ Extraction budget

Temp extraction is bounded on both the sizes an archive declares and the bytes actually written, so forged metadata cannot bypass the limits. The defaults can be overridden with system properties:

PropertyDefault
nuclr.archive.extraction.maxEntries100,000 entries
nuclr.archive.extraction.maxEntryBytes8 GiB
nuclr.archive.extraction.maxTotalBytes20 GiB
nuclr.archive.extraction.maxExpansionRatio1,000×

📥 Installation

Copy the signed plugin archive and detached signature into the Nuclr Commander plugins/ directory:

filepanel-zip-<version>.zip
filepanel-zip-<version>.zip.sig

Nuclr Commander verifies the RSA-SHA256 signature against nuclr-cert.pem on load. The plugin becomes available immediately without a restart.

⚙️ How it works

ZipFilePanelPlugin implements FilePanelNuclrPlugin. When an archive is entered, the plugin detects its type via ArchiveType and chooses a strategy: unencrypted ZIP-family archives are mounted in-place via the Java NIO ZIP filesystem provider for instant, writable access. Encrypted ZIPs, RARs, and TAR variants are extracted to a temp directory managed per-mount. Charset detection for ZIP entry names uses heuristics to handle common encoding issues. Nested archives are materialised to temp .zip / .tar.gz etc. files so they can be recursively opened.

🗂️ Source layout

src/main/java/dev/nuclr/plugin/core/mount/zip/
├── ZipFilePanelPlugin.java        plugin entry point, navigation, mount management
├── ArchiveExtractor.java          extraction engine for RAR, TAR, GZ
├── ArchiveExtractionBudget.java   entry/size/ratio limits for temp extraction
├── ArchiveCopyService.java        F5 copy out of and into archives
├── ArchiveMoveService.java        F6 move within a mounted archive
├── ArchiveClipboardService.java   copy entries / in-archive paths to the clipboard
├── ArchiveNuclrResource.java      NuclrResource wrapper for archive entries
├── ArchiveType.java               format detection and type enum
├── ZipFileNuclrResource.java      NuclrResource wrapper for extracted temp files
├── SwingDialogRunner.java         EDT-safe dialog helper for background work
├── DeleteDialogs.java             delete confirmation dialogs
└── service/
    ├── DeleteService.java
    └── MakeNewFolderService.java

📚 Dependencies

LibraryVersionPurpose
dev.nuclr:platform-sdk3.0.2Nuclr platform interfaces
zip4j2.11.5Encrypted ZIP handling
commons-compress1.28.0TAR, GZ, BZ2 extraction
junrar7.5.8RAR extraction
jackson-databind2.21.1Manifest / metadata JSON

📜 License

Apache License 2.0 — see LICENSE.

Releases

Version Released Size Download
1.0.11 2.7 MB Download
1.0.10 2.7 MB Download
1.0.9 2.7 MB Download
1.0.8 2.7 MB Download
1.0.7 2.7 MB Download
1.0.6 2.7 MB Download
1.0.5 2.7 MB Download
1.0.4 2.7 MB Download
1.0.3 2.7 MB Download
1.0.1 2.7 MB Download
1.0.0 2.7 MB Download

Details

Plugin ID
dev.nuclr.plugin.core.mount.zip
Repository
nuclrdev/plugin-filepanel-zip
Platform SDK
5.0.0
SHA-256
12208b72cb1c2980c28f32582be964fc8187db6748a40de07f2fbf1addb50713