mirror of
https://github.com/knutwurst/patchdl.git
synced 2026-10-06 06:00:21 +02:00
PatchDL 0.0.1: scan, resolve, download and install PS5 game patches
Standalone PS5 payload with an embedded web UI on :12880, no etaHEN. - Scans installed titles and classifies the source (genuine install, ShadowMountPlus mount, preinstall, unknown) from the on-disk layout. - Reads name, installed version and the Sony version.xml URL from the PS5 app database (vendored SQLite). - Resolves version.xml past nanoDNS via a raw DNS query, TLS pinned to the SCEI DNAS root. - Filters patches to the newest one compatible with the current firmware. - Downloads the patch and installs it through AppInstUtil (sysmodule loaded at runtime), gated to genuine installs with a package title-id match guard. - Action-based UI filters and an on-screen startup notification with the URL.
This commit is contained in:
1 parent
4a14c689e5
commit
01464ae88a
31 files changed
+273765
-365
No files matched your search
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/*
|
||||
* Install a local PKG (a downloaded patch) via Sony's AppInstUtil service.
|
||||
* `local_path` is the on-disk path under /data/patchdl/... The install runs
|
||||
* asynchronously in the system installer queue once started; this returns 0
|
||||
* when the install was accepted, non-zero (the SCE error code) otherwise, and
|
||||
* writes a short human-readable status into `msg`.
|
||||
*
|
||||
* This MODIFIES the installed game. The caller must gate it to genuine
|
||||
* (official) titles and obtain explicit user intent before calling.
|
||||
*/
|
||||
/* `expected_title_id` is the title id of the installed game the patch is for.
|
||||
The PKG's own title id is read and must match, else the install is refused
|
||||
(prevents a cross-region/cross-title package being installed as a new
|
||||
phantom title). */
|
||||
int patchdl_install_local_pkg(const char *local_path,
|
||||
const char *expected_title_id,
|
||||
char *msg, size_t msg_sz);
|
||||
|
||||
/* Verify the AppInstUtil backend can be loaded + resolved + initialized,
|
||||
WITHOUT performing any install. Returns 0 if ready. Safe to call. */
|
||||
int patchdl_install_backend_check(char *msg, size_t msg_sz);
|
||||
Reference in new issue
Block a user