Skip to content

Releases: LisherSong/ps5-web-file-manager

v1.9.3M

Choose a tag to compare

@LisherSong LisherSong released this 24 Sep 13:08

What's Changed

  • extract: encrypted archives — ZIP (ZipCrypto + WinZip AES-256), RAR 4/5 incl. split volumes, 7z AES incl. -mhe=on encrypted headers
  • extract: a wrong password is reported as its own error and leaves no staging directory behind
  • extract: RAR dictionaries above the supported window report extract_dict_too_large, not a vague failure
  • ui: Upload is a menu again — Upload files / Upload folder
  • ui: drag-and-drop hint in the footer
  • ui: extract button always visible, disabled until exactly one archive is selected
  • ui: menu row highlight fixed; footer status line clamped to one line
  • fix: upload-and-extract of an encrypted archive prompts for the password immediately
  • fix: entry names in error messages no longer render as mojibake
  • fix: local file names are byte-encoded before being joined into a server path
  • fix: a first failed password attempt says the archive is encrypted

web-file-mgr-v1.9.3M.elf · 903,448 bytes · sha256 8ca47d5aaca75085b32641300cce30fadb7df7749cb6b53d04f129bcecc286b7 · x86-64 (e_machine 0x003e)

M marks a modified build of upstream v1.9.3. Rollback: v1.9.2 (870,488 bytes).

v1.9.2 -- version-string re-release

Choose a tag to compare

@LisherSong LisherSong released this 20 Sep 09:34

v1.9.2 — version-string-only re-release

Why the version moved: the v1.9.1 tag was a lightweight tag sitting on
9a36c3c — four commits behind the tree that produced the released ELF. The
binary was fine, but git clone --branch v1.9.1 could not rebuild it. v1.9.2
re-cuts the release from the commit the artifact actually came from, so
tag = source = binary again.

What this build contains

  • ZIP / RAR / 7z extraction, single-volume and multi-volume, in one
    self-contained 850 KiB ELF. RAR uses the official rarlab UnRAR 7.20.1
    (RAR5 "v6" + .partN.rar volumes). 7z has a self-written folder parser and
    pull-based codec chain, covering BCJ2 and 5-coder folders the SDK's SzArEx
    path cannot handle.
  • LZMA optimisations: x86 assembly LZMA decoder (~1.26×) and multi-threaded
    LZMA2 decoding (~1.37×).
  • Safety guards the upstream project does not have: ratio-based zip-bomb
    cap, statvfs free-space pre-check, path traversal rejection, staging
    isolation so a failed extraction leaves nothing behind.
  • Payload down 15.8% (1,034,328 → 870,488 bytes). libc++abi's Itanium
    demangler (105 KiB) was only reachable from the uncaught-exception path and is
    now stubbed out at link time; -Wl,--icf=all folds identical functions. No
    functional or throughput change.
  • Upload UX: one-click file/folder pick (no more second-level menu) plus
    drag-and-drop onto the page.

Artifact

File web-file-mgr-v1.9.2.elf
Size 870,488 bytes (~850 KiB)
sha256 177e90fecf93a0251e83f67884fba4551051be248330b0d70fda8ea732f88e84
Machine ELF64 LSB, e_machine 0x003e (x86-64 / PS5)

Verification

  • Regression suite: ZIP 108 + RAR 27 + 7z 28 = 163 checks, 0 failures
    (known gap: 7z -mhe=on encrypted headers).
  • Build is reproducible: reverting the two version literals and rebuilding
    reproduces the v1.9.1 ELF byte for byte; re-applying them reproduces this one.
    That is what pins the byte-level difference between the two artifacts down to
    the version string alone.
  • ELF verified after link: __cxa_demangle is the 11-byte stub,
    itanium_demangle::* symbol count is 0, and __cxa_throw /
    __cxa_begin_catch / _Unwind_Resume / __gxx_personality_v0 are all intact.

Known limitations

  • Encrypted ZIP / RAR / 7z are rejected — the engines can decrypt, but the
    password UI/API is not wired up yet.
  • 7z -mhe=on (encrypted header) is the one remaining 7z gap.
  • .rar.001-style 7-Zip volumes are not accepted; rename to .partN.rar.
  • Not yet validated on retail hardware. Please run a ZIP / RAR / 7z
    (including split archives) extraction on a real console and report back.

License

GPL-3.0-or-later, forked from owendswang/ps5-web-file-manager.

Corresponding source for this binary:
LisherSong/ps5-web-file-manager
— build from the tag this release was cut from (tag = source = binary, see above).
This is the GPL-3.0 §6 written offer that accompanies the artifact.