real-debrid-downloader/resources/extractor-jvm
Sucukdeluxe 93d54c8f84 Fix multi-part RAR: get first stream via callback, track current volume name
Two bugs in SevenZipVolumeCallback caused multi-part RAR extraction to fail:

1. getProperty(NAME) always returned firstFileName instead of tracking the
   last opened volume name. 7z-JBinding needs this to compute subsequent
   volume filenames.

2. The first IInStream was created separately instead of through the
   callback's getStream() method, so the volume name tracker was not
   properly initialized.

Verified with real multi-part RAR5 test archives (3 parts, WinRAR 7.01).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:15:44 +01:00
..
classes/com/sucukdeluxe/extractor Fix multi-part RAR: get first stream via callback, track current volume name 2026-03-03 16:15:44 +01:00
lib Replace extraction backend with SevenZipJBinding + Zip4j JVM sidecar 2026-03-03 02:08:42 +01:00
src/com/sucukdeluxe/extractor Fix multi-part RAR: get first stream via callback, track current volume name 2026-03-03 16:15:44 +01:00
README.md Replace extraction backend with SevenZipJBinding + Zip4j JVM sidecar 2026-03-03 02:08:42 +01:00
THIRD_PARTY_NOTICES.txt Replace extraction backend with SevenZipJBinding + Zip4j JVM sidecar 2026-03-03 02:08:42 +01:00

JVM extractor runtime

This directory contains the Java sidecar runtime used by src/main/extractor.ts.

Included backends

  • sevenzipjbinding for the primary extraction path (RAR/7z/ZIP and others)
  • zip4j for ZIP multipart handling (JD-style split ZIP behavior)

Layout

  • classes/ compiled JBindExtractorMain classes
  • lib/ runtime jars required by the sidecar
  • src/ Java source for the sidecar

Rebuild notes

The checked-in classes are Java 8 compatible and built from:

resources/extractor-jvm/src/com/sucukdeluxe/extractor/JBindExtractorMain.java

If you need to rebuild, compile against the jars in lib/ with a Java 8-compatible compiler.