From edb4c909780fed1696245e2cb70d2d904b459612 Mon Sep 17 00:00:00 2001
From: Knutwurst <36196269+knutwurst@users.noreply.github.com>
Date: Thu, 25 Jun 2026 09:00:00 +0200
Subject: [PATCH] README: rewrite as a tool description with screenshots
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Reads like a project README now: what PatchDL is, what the UI looks
like, how to use the settings, how to install. The deeper notes
(target-id matching, source classification, partition layout, console
setup chain) are out — those belong in design docs, not the front door.
Five photos under docs/images/ render inline: home-screen tile, the
desktop browser UI, the mobile settings view, the on-console browser,
and the startup notification. Originals stay in photos/ for future
crops.
---
README.md | 170 +++++++++++------------------
docs/images/startup-toast.jpg | Bin 0 -> 80129 bytes
docs/images/tile-homescreen.jpg | Bin 0 -> 110356 bytes
docs/images/tv-browser.jpg | Bin 0 -> 145195 bytes
docs/images/ui-desktop.jpg | Bin 0 -> 131161 bytes
docs/images/ui-mobile-settings.jpg | Bin 0 -> 54532 bytes
6 files changed, 63 insertions(+), 107 deletions(-)
create mode 100644 docs/images/startup-toast.jpg
create mode 100644 docs/images/tile-homescreen.jpg
create mode 100644 docs/images/tv-browser.jpg
create mode 100644 docs/images/ui-desktop.jpg
create mode 100644 docs/images/ui-mobile-settings.jpg
diff --git a/README.md b/README.md
index aa4a527..d99dfc1 100644
--- a/README.md
+++ b/README.md
@@ -1,140 +1,96 @@
# PatchDL
-A standalone PlayStation 5 ELF payload that downloads and installs official game
-patches on your terms. It serves its own dark-mode web UI and runs without
-etaHEN.
+A self-contained patch downloader and installer for the PS5, with its own
+dark-mode web UI. Drop it on the console, open the URL on any device on the
+same network, pick the games you want patched.
-PatchDL is built for setups where nanoDNS blocks Sony's servers for the whole
-console. It resolves the Sony patch CDN on its own DNS path, so the rest of the
-system stays offline and only the patches you pick get fetched.
-
-by Knutwurst
+
+
+
## What it does
-- Scans installed titles and classifies each: genuine install, ShadowMountPlus
- mount, preinstall, or unknown.
-- Reads the title name, installed version, and Sony `version.xml` URL from the
- PS5 app database.
-- Fetches each title's `version.xml` past nanoDNS (a raw DNS query to 1.1.1.1)
- and verifies TLS against the pinned SCEI DNAS root.
-- Picks the newest patch compatible with the current firmware
- (`system_ver <= firmware`), so an update never forces a firmware upgrade.
-- Downloads the patch from Sony's manifest pieces into one local `.pkg`, then
- installs it through Sony's AppInstUtil service.
+- Lists every game installed on your console and looks up the newest update
+ Sony has published for it.
+- Compares the available patch against your firmware and only offers updates
+ that will actually run on the system you have.
+- Downloads the update package into internal storage and installs it
+ on-console — same end result as a normal system update, with you in control
+ of when and what.
+- Pauses, resumes, and survives reboots: a 60 GB patch can be picked up where
+ it left off after a power-cycle.
-## Downloading
+## The web UI
-PatchDL pulls each patch over a pool of connections instead of one stream, which
-lifts the ~7 MB/s per-connection ceiling on the Sony CDN. Set the connection
-count (1 to 16) in Settings with the stepper; the change applies live, with no
-payload restart. One patch downloads at a time and further requests queue.
+Open `http://:12880/` in any browser on the network. The UI works
+full-screen in the on-console browser, in any desktop browser, and on phone.
-Downloads survive interruptions:
+
+
+
-- **Resume across a reboot.** PatchDL records progress per manifest piece in a
- sidecar beside the `.pkg`, written after every completed piece, so a reboot or
- relaunch continues where it stopped.
-- **Pause, Resume, Cancel.** Pause keeps the partial file, Resume continues it,
- Cancel deletes it. All three work at any point in a download.
-- **Verification.** Turn on "Verify downloaded pieces (SHA-256)" to check each
- piece against its manifest hash while downloading. After a download you can
- also verify the assembled package on-device against Sony's per-piece hashes
- (`GET /api/pkgverify/`).
+The Games view groups everything you have installed into filter chips:
-Patches download to `/data/patchdl` on the internal SSD. Large retail updates
-run tens of GB.
-
-## Web UI
-
-The Games view groups titles into filter chips:
-
-- **Updatable** — has an installable update; selected by default.
-- **Updating** — queued, actively downloading, paused with a partial on disk,
- or installing.
+- **Updatable** is selected by default — games with an installable update.
+- **Updating** is the queue: jobs waiting for a free slot.
- **Up to date**, **Needs FW**, **Can't update** — the rest.
-- **All** — flat list at the right end of the strip.
+- **All** is the flat list, top-right corner.
-**Update all** in the top bar queues a download for every game with an
-installable update in one click. Shadowmounts are skipped (they pass the
-download policy but not the install policy), so a sweep doesn't burn tens of
-GB on bytes AppInstUtil would refuse — pick those up by hand when the disc is
-ready.
-
-## Safety model
-
-Deny-by-default. A patch installs only for a genuine install, and only when the
-patch metadata targets the installed game:
-
-| Source | Check | Download | Install |
-|-----------------------|-------|----------|---------|
-| official | yes | yes | yes |
-| shadowmount | yes | yes | no |
-| preinstall / unknown | yes | no | no |
-
-Two guards stop the wrong target being installed: the patch target id (from
-`version.xml` / `manifest_url`) must match the installed game, and the install
-call receives the installed game's content id from app.db. PatchDL refuses a
-true target-title mismatch rather than installing a phantom title.
-
-All writes stay under `/data/patchdl`. PatchDL never writes to the system
-partition and never touches firmware.
+**Update all** in the top bar queues everything that's installable in one
+click. A live banner above the games list shows the current title, its
+download speed, ETA, and a `3 of 9`-style position when more than one
+update is running through the queue.
## Settings
-Settings persist to `/data/patchdl/config.json` and survive a restart:
+
+
+
-- Default policy (allow or deny) and a per-game enable toggle.
-- Install after download, as a global default with a per-game override.
-- Delete the PKG after a successful install.
-- Verify downloaded pieces (SHA-256).
-- Parallel download connections (1 to 16), applied live.
+Settings persist across restarts and apply live — nothing needs a reboot.
+
+- **Default policy** to allow or deny new titles by default, with a per-game
+ override.
+- **Install after download** so a finished update applies itself.
+- **Delete the package after install** to reclaim the disk space.
+- **Verify downloaded pieces** with a checksum while transferring.
+- **Home-screen shortcut** that drops a PatchDL tile on the PS5 home menu;
+ tapping the tile opens the web UI in the on-console browser.
+- **Parallel download connections** (1–16), tunable on the fly.
+
+## Home-screen tile
+
+Toggle the shortcut on and PatchDL registers itself as a regular app on the
+PS5 home screen. Tap the tile and the on-console browser opens straight on the
+games list.
+
+
+
+
## Build
-Requires `ps5-payload-dev/sdk`. The network and install features need the
-prebuilt libcurl + OpenSSL from `ps5-payload-dev/pacbrew-repo` in the SDK sysroot
-(`target/user/homebrew`); `scripts/build_ps5.sh` enables them when present.
-libmicrohttpd is vendored under `vendor/etahen`, SQLite under `vendor/sqlite`.
-
```sh
scripts/build_ps5.sh # produces patchdl-ps5.elf
```
+Needs the `ps5-payload-dev` SDK and the prebuilt `libcurl` + `OpenSSL` from its
+`pacbrew-repo`. `libmicrohttpd` is vendored, SQLite too.
+
## Deploy
-This console uses the BD-JB autoloader with itsPLK's Payload Manager on port 8084
-(not a 9021 elfldr). `scripts/deploy_ps5.sh` uploads the version-named ELF
-(`patchdl_.elf`, so Payload Manager picks the version out of the
-filename) and launches it; the payload replaces any running instance.
+`scripts/deploy_ps5.sh` uploads the build, replaces any running instance, and
+launches the new one. On launch you get an on-screen notification with the
+exact URL to open.
```sh
PS5_HOST= scripts/deploy_ps5.sh
```
-On start it shows an on-screen notification with the URL. Open the web UI at:
+
+
+
-```text
-http://:12880/
-```
+## License
-## Status
-
-Verified on firmware 11.60: title scan, source classification, version
-resolution past the nanoDNS block, firmware-compatibility filtering, the parallel
-download pool, reboot-safe resume, and on-device SHA-256 verification.
-
-Install works through Sony's AppInstUtil. `sceAppInstUtilInstallByPackage` is
-unavailable from the homebrew payload context (rejected with `0x80B21163`
-outside the system process), so PatchDL routes through
-`sceAppInstUtilAppInstallPkg` — the simpler API that reads the PKG's embedded
-`content_id` and binds the install to the right title slot. Verified
-end-to-end: Dead Island 2 (`PPSA03099`) updated from 01.000.001 to 01.000.011
-on 11.60, including the cross-region shared-storage case where Sony serves the
-patch under a master title id.
-
-`/api/installstatus` reports installer progress once
-`sceAppInstUtilGetInstallStatus` finishes the queued task.
-
-Disc games still need the disc inserted for their patch to apply, which is a
-normal Sony requirement; that's why shadowmounts are download-only by policy.
+by Knutwurst
diff --git a/docs/images/startup-toast.jpg b/docs/images/startup-toast.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..99a4848788a778a6ddb7a80b275ec2a01701229e
GIT binary patch
literal 80129
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 &=P9P!FWG41TRufx9wX}U(4b*xsmYwNX+
zxTx~kCM3t;xW_Y2YI{<%SH_;_%P#OY#0FXYul*C%9Y#5&w0Vqs1*Bc+*ESX3LgtN1
zHCSQHsMsL-h4oI8@k_4iTxV9+;k2mf^(z)pZ87%%IG*cv@vnz8O?QU$?mnreGOfjh
zMvK~X+COZ=u|3E!ze22XWJ)ua)qjB0t)