This release introduces umtx2 exploit support for FW 1.00–5.50, switches slopkit to a secure custom elfldr (matching the other autoloaders), brings major cache resiliency improvements to prevent corruption, and polishes the installer UI and repository structure.
Key highlights:
- **umtx2 Exploit Integration (FW 1.00–5.50)**:
- Integrated umtx2 alongside slopkit with automatic firmware detection from the User-Agent.
- Exploit runs isolated inside a hidden iframe with live console mirroring and real-time progress updates.
- Automated payload delivery via native main-loop event dispatch.
- State persistence across WebProcess crash-restores using sessionStorage (`wkal_autoload`).
- Post-autoload iframe unloading for umtx2 to prevent out-of-memory browser dialogs.
- Uses stock bundled elfldr for the umtx2 chain (as newer elfldr builds failed to load properly with umtx2).
- **Custom Localhost elfldr for slopkit (FW 9.00–12.00)**:
- Switched slopkit chain to use a custom localhost-only `ps5-elfldr`, matching Y2JB / BD-JB / Lua autoloaders.
- Enhances security by restricting incoming payload connections to the console itself (127.0.0.1) — most autoloader users do not need an open network port listening on the PS5.
- A standard network-facing elfldr can still be used via Payload Manager or manual `autoload.txt` config (see README for instructions).
- **Cache Resiliency & Offline Installer Enhancements**:
- Versioned application directory layout (`/app/<version>/`) and `__complete__` cache manifest marker prevent partial cache corruption during network drops or early browser exit.
- Stable pointer page (`/app/index.html`) verifies cache completeness before redirection.
- Homescreen shortcut creation is deferred until caching is 100% complete via the `/install` route.
- Live verbose installer logging and visual progress bar in the installer UI.
- Dynamic AppCache manifest filtering based on detected firmware and build flags (`FORCE_EXPLOIT`).
- Recursive directory creation (`mkdir_p`) ensuring fresh PS5 systems install without errors.
- **Repository Structure & Upstream Updates**:
- Reorganized patch diffs into dedicated `patches/` directory and consolidated scripts into `tools/`.
- Updated upstream slopkit submodule to commit 6153152.
- Added on-demand pre-release build workflow with custom version tagging.
Add a dedicated Pre-Release On-Demand workflow that builds from the dev
branch (branch input, default dev) and publishes a GitHub release marked
as --prerelease, with an optional custom version suffix input.
Extend tools/gen_version.py with a 'pre-release' BUILD_TYPE
(0.0.1-pre-<hash>) and a CUSTOM_VERSION env var that appends a custom
string to the base version (0.0.1-umtx2-test), which also shows in the
PS5 homescreen app title (param.json). build_release.sh now passes
CUSTOM_VERSION into the Docker build.
This commit replaces the stubbed demo flow with a real WebKit/kernel exploit chain, introducing significant performance optimizations and safety features for public testing.
Exploit Integration:
- Slopkit is pinned as a pristine git submodule in `third_party/slopkit`.
- Integration is isolated via `tools/slopkit-autoload.patch`, adding an `?autoload=<payload>` query parameter, a 4 MiB payload limit, a hidden menu tile, and a `postMessage` result emitter.
User Interface & Experience:
- The autoloader UI intelligently mirrors slopkit's live screen, stage, and summary logs.
- Added a full-screen test-build gate forcing explicit user continuation to prevent accidental crash loops.
- Applied a "PRE-RELEASE / TEST BUILD" hazard strip across all pages.
- Added a collapsible debug frame for monitoring the exploit.
Payload & Asset Optimization:
- Vendored `puff.c` (`src/inflate.c`) for on-the-fly raw DEFLATE decompression.
- The installer ELF now compresses embedded frontend assets and filters out heavy, unused slopkit payloads (saving several MiB).
- The PC host now serves the installer ELF directly as the autoload payload for the one-time setup.
AppCache & Dependencies:
- Mitigated PS5 caching issues via a versioned master URL (`?v=`) and cache-busting exact-match asset entries in the manifest.
- Introduced `scripts/download_deps.sh` to securely fetch and sha256-verify the pinned `ps5-unified-autoloader` release asset.
- Updated `Makefile` for payload-deps and ensured CI checks out submodules.