Repository navigation
Releases: deox1111/ps5-library
Release list
PS5 Library 0.7.28
Changes
- TorBox for Link-Vault sources (#16). Download with TorBox (or another saved account) now also appears for a Link-Vault source whose host the account supports, such as "Dump - DataNodes". The PS5 opens Link-Vault first; you complete its verification, and the DataNodes link goes to TorBox. DataNodes' own download page does not open, and nothing is copied by hand.
- The account you choose is the only route. When Download with TorBox fails, the download shows TorBox's own reason (for example "TorBox: …") and stops. It used to fall back to the host's free download, which asked for its CAPTCHA. Try again asks TorBox again; Download from the host instead is a separate button. The download card says "via TorBox".
- Faster unpacking of 7z archives (#13). 7-Zip's multithreaded compression resets its dictionary every few hundred MB (every 256 MB in a release we checked). The parts between resets now decode on three threads at once, and the files are still written in order. On a PS5 a strongly compressed test archive unpacked at 68 MiB/s instead of 30 MiB/s. Each file is checked against the archive's CRC. Archives with filters or encryption, and other formats, unpack as before.
- File names outside ASCII. An archive with Japanese or accented file names failed with "archive contains an invalid path"; such names now unpack.
- The next game downloads while one unpacks. Unpacking a large archive takes a while and uses no network. Meanwhile the next game in the queue downloads, then unpacks once the first one is installed. One game downloads and one unpacks or installs at a time, and room for the unpacking game is kept free. Settings → Downloads → While a game unpacks can switch this off.
- Console notifications. A PS5 notification says when a game is ready to play, a download failed, or ShadowMountPlus could not add a game, so the library need not stay open. Settings → Downloads → Notifications turns them off.
- Space check with the real size. Some catalogs list the unpacked game's size as the download's ("285 GB" for a 122 GB download). Before a download, only what is certain counts now: the download is at most that size, and an archive unpacks to at least it. Once the host sends the file's real size, the check is exact; for a link captured in the PS5 browser, before the download starts. A game that fits is no longer refused.
- Newer versions of your games. With ShadowMountPlus 1.7beta5 or later, My games shows each game's version, and a badge when your catalogs have a newer one (for example "NEWER v01.030"). The game page and Manage say which version is installed and which is newer.
- Cancelled downloads. Settings → Storage can delete a cancelled download's files after 7 or 30 days; the download stays in the list and Resume starts it again. Off by default. Select cancelled downloads selects their folders for Delete selected in one go.
- Diagnostic report: the new settings and the notifications sent since the library started (title IDs only).
Validation and limitations
Host build, integration tests (a second download running while the first game installs, then waiting its turn to unpack, and waiting with the setting off; notifications for installed and failed downloads and none when off; an account's error ending the download without the host's free flow; a catalog size that fits as the unpacked game no longer refused, and an unpacked game that cannot fit stopped before downloading; a download cancelled 10 days ago losing its files after the 7-day setting), C++ archive tests (a 7z written like multithreaded 7-Zip decoded on three threads byte for byte as libarchive reads it, split into volumes, damaged and cancelled) and UI checks passed. On a PS5 (firmware 13.60) with ShadowMountPlus 1.7beta5: a 384 MiB test archive with seven LZMA2 parts unpacked at 68.2 MiB/s, the same data in one part at 30.5 MiB/s (in a later run, with less CPU free on the console, 44.4 against 18.7 MiB/s); a test archive with 100,000 files unpacked in 19 minutes (issue #13's "Directory scan limit exceeded" case); a 512 MiB download from the local network ran while an archive unpacked; the same archive unpacked at 34.6 MiB/s on the home screen and 29.6 MiB/s with the library open in the browser (three runs each); Settings, Storage and My games showed the new parts at the browser's window size and at phone width. TorBox itself was not tried: the tests used a fake TorBox and AllDebrid, and the Link-Vault step was not repeated on the console for this release. Only test archives were unpacked with the new decoder; a game release was checked for its LZMA2 layout, not unpacked. After publishing, Settings → Updates on that console installed this release from GitHub and started it within seconds.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
Thanks to @amithacoon for the detailed TorBox report (#16), and to @dexdam and @amithacoon for the unpacking reports (#13).
PS5 Library 0.7.27
Changes
- Settings → Storage. Every drive's library folders (downloads and unpacked archives) with path, size, download and state, and what they are: can be deleted (nothing uses it), your choice (a failed download or a Download only file), kept (a paused download) or in use (a game ShadowMountPlus registered or mounts from there, or a running download). The installed games on each drive are listed with their paths. Delete selected shows what goes and how much space it frees, then deletes only what the console still finds unused (#15).
- Remove and Clear delete the unpacked folder too. They used to delete only the download folder, so a failed or cancelled unpack could leave the whole unpacked game behind. A download replaced by a new one of the same game loses both folders as well. Nothing a game uses is deleted, and without ShadowMountPlus's answer the unpacked folder stays.
- Installed packages free their space. A package's file is deleted once the console has installed it; it used to stay in the download or unpacked folder.
- Space estimates with the unpacked size. When a catalog gives it ("68GB (Compressed) – 151GB (exFAT)"), the unpacked size counts instead of twice the download: on the game page, in "Unfinished downloads" and in the check before downloading. Once a download has started, its real size replaces the catalog's. The game page lists which downloads make up "Unfinished downloads".
- Diagnostic report: the library's folders per drive, what unfinished downloads still need and the last clean-up with what could not be deleted.
Validation and limitations
Host build, integration tests (Remove deleting both folders; a replaced download's folders deleted before the next one starts; folders left by an earlier version, a cancelled download, a paused download and a folder a registered game uses each marked correctly; the clean-up deleting only what nothing uses and refusing without ShadowMountPlus; installed packages' files deleted; a catalog's unpacked size stopping a download that cannot fit), C++ archive tests and UI checks passed. On a PS5 (firmware 13.60) with ShadowMountPlus 1.7beta5, Settings → Storage listed the internal SSD and a USB drive (52 folders, 12 installed games) in under a second, at the PS5 browser's window size and at phone width; a clean-up deleted a test folder and refused a paused download's folder and a path outside the library. Removing a real download and a package install were tested on a computer, not on the console. After publishing, Settings → Updates on that console installed this release from GitHub and started it within seconds.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
Thanks to @amithacoon for the detailed report (#15).
PS5 Library 0.7.26
Changes
- Backports go to ShadowMountPlus. Some downloads include a backport folder beside the game (game files changed for older firmware). It used to stay in
ps5-library/libraryafter the install (#13). When the console's firmware is older than the game needs, the version for that firmware (by its name, such as "5.xx to 10.xx") now goes tobackports/<title ID>in the game's ShadowMountPlus scan folder, before the game, and ShadowMountPlus applies it when the game starts. A game the console's firmware runs needs no backport, so none is used. When no version or several versions fit, they stay in place and the download says so. - Unpacked folder cleaned up. By default the rest of the unpacked folder (readme, nfo, unused backports) is deleted after the install. Settings → Downloads → Backports can copy the backport instead and keep the unpacked folder.
- Lost ShadowMount install hook: fixed in ShadowMountPlus 1.7beta5. ShadowMountPlus 1.7beta5 repairs its lost install hook by itself after Rest Mode and before it registers a game (drakmor/ShadowMountPlus#145, #147); update ShadowMountPlus to stop the "AppInstallTitleDir bridge unavailable" failures. With older versions the download still offers Restart ShadowMount. That message now also appears when ShadowMountPlus's log is long: 0.7.25 could miss it once the log passed 128 KB.
Validation and limitations
Host build, integration tests (backport moved, or copied with the unpacked folder kept; the version for the console's firmware picked from folders named as in real releases; no backport for a game the firmware runs; several fitting versions left in place; a lost hook found in a long log), C++ archive tests and UI checks passed. On a PS5 (firmware 13.60), ShadowMountPlus 1.7beta5 replaced 1.7beta4 and remounted the games, and this build worked with it: the game list, settings and scans worked, and new lines were found in its log after a scan. After publishing, Settings → Updates on that console installed this release from GitHub and started it within seconds. Backport handling was not tried with a real install on the console. Backports that earlier versions left in ps5-library/library stay there; delete them in Files.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
Thanks to @dexdam for testing a 150 GB game and reporting the leftover backport folder (#13).
PS5 Library 0.7.25
Changes
- Restart ShadowMount sooner. ShadowMountPlus can lose its install hook after a game launch or Rest Mode (drakmor/ShadowMountPlus#145, #147); every new game then fails with "internal AppInstallTitleDir bridge unavailable" until ShadowMountPlus restarts. The library now reads ShadowMountPlus's log while it waits for a registration and stops as soon as that failure appears: the download explains it and offers Restart ShadowMount right away, instead of after two minutes. Other registrations stop waiting after one minute (was two) and still turn installed on their own when ShadowMountPlus finishes.
Validation and limitations
Host build, integration tests (a lost install hook reported within seconds, then Restart ShadowMount registering the game), C++ archive tests and UI checks passed. On a PS5 (firmware 13.60) a game unpacked to USB failed to register with this ShadowMountPlus error and registered right after Restart ShadowMount. ShadowMountPlus itself waits about 40 seconds before it tries to register a new game folder, so the failure shows a few seconds after that attempt; ShadowMountPlus's API does not report the hook's state earlier. The fix for the lost hook belongs in ShadowMountPlus; until then, restarting it is the remedy.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
PS5 Library 0.7.24
Changes
- Downloads in tabs. Downloads has Active, Finished, Failed and Cancelled tabs with counts. Active shows what runs, then the waiting downloads in the order they will run, then what needs a decision.
- Queue in your order. A waiting download can move up, move down or go next. Finished, failed and cancelled downloads each clear in one go; clearing removes their partial files, as Remove does.
- Favourites. The heart on a game page adds it to your favourites. Favourites get a heart on their tile, their own row in the Store and a filter in Browse. The list is kept on the console, so the console, phones and computers share it.
- Browse by region and size. Browse filters by region and size and sorts by size. The region comes from the catalog, or from the tags in its description (USA, EUR, JPN, ASIA); games without one are under Unknown region.
- Diagnostic report. Settings → Console → Diagnostic report collects what a bug report needs: versions, firmware, storage, ShadowMountPlus, the package installer, settings, recent downloads and the end of the log. It has no keys, passwords or catalog addresses, and download links are cut down to their host. Copy it, save it on the console as
diagnostics.txt, or download it on a phone or computer.
Validation and limitations
Host build, integration tests (moving waiting downloads, clearing by state, favourites saved on the console, regions from catalog tags, the report's sections without links or keys), C++ archive tests and UI checks (filters and size order, queue buttons, download tabs, favourites, the report card) passed. On a PS5 (firmware 13.60) Browse showed USA, EUR, JPN and ASIA from a Pegasus catalog's tags; a favourite was added and removed; the report was created, read in the console's browser and saved as diagnostics.txt. The pages were checked in the PS5 browser's window size and at 390 px phone width. Moving and clearing downloads were tested on a computer, not on the console. After publishing, Settings → Updates on a console running 0.7.23 installed this release from GitHub and started it within seconds.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
PS5 Library 0.7.23
Changes
- Faster unpacking. Archives now unpack on several threads: one decodes while others write the files, flush them and create folders. Writes go to storage in 4 MiB blocks instead of 256 KiB, and the free-space check runs per file and every 32 MiB instead of before every block. Small files are written four at a time. (#13)
- Large game folders install. After unpacking, the library no longer lists every file of the game: it stops at the game folder (the one with
sce_sys/param.json). The old limit of 100,000 files and 16 folder levels is gone; if a folder is still too deep or too large, the error names the folder. Installing a game folder from Files works the same way. (#13) - A retry does not unpack again. When unpacking finished and a later step failed, Try again continues from the unpacked files instead of unpacking the whole archive a second time. (#13)
- Unpacking details. The download card shows how fast the game is written and the archive read, files per second, how much of the time the decoder is busy and how much it waits for storage. (#13)
- Homebrew from the default catalog. The firmware check stops only sources the catalog marks as FPKG (fake game packages). Apps in a catalog's PKG category, such as the evoX homebrew packages, can be downloaded on any firmware again; on firmware above 11.60 they used to open a page with no way to continue. (#14)
- Download for GitHub files. Files from GitHub releases have a Download button instead of Solve the CAPTCHA: there is no CAPTCHA. The console checks the file and adds it to Downloads. (#14)
- Installed packages show as installed. A package the console installed now turns from "Sent to the console package installer" to installed by itself, including apps whose title IDs ShadowMount does not list. (#14)
- Placeholder title IDs. A catalog entry with an ID such as
CUSA00000takes the real ID from its file name, so its download is no longer refused as a different game. (#14) - Game page for installed games. My games → Manage uses the game's own background, shows the real size of an image or folder and the full location.
- Store rows. A selected tile is no longer cut off under the row title.
Validation and limitations
Host build, integration tests (package confirmation from the console's install records, placeholder IDs, catalog firmware rules), C++ archive tests (threaded unpacking of many small files, a large file, an empty file and a path stored twice, cancellation and retry; repeated runs and ThreadSanitizer) and UI checks passed. On a PS5 (firmware 13.60) unpacking to the internal SSD went from 55 to about 139 MB/s for a 1 GiB image in a 7z, and from 6.9 to 11.9 MB/s for a folder of 6,000 small files. Strongly compressed data is limited by the console's CPU (about 30 MB/s for text-like LZMA2 data), and creating a file on the console's storage takes a few milliseconds, which limits games made of many small files. Homebrew Launcher, Mario Kart 64 and PS5Library from the default catalog downloaded with Download and installed; the Mario Kart 64 and PS5Library downloads switched to installed by themselves. EVO Player installed after Restart ShadowMount. The new folder scan and the retry after unpacking are covered by tests, not yet by a 100,000-file game on the console. After publishing, Settings → Updates on a console running 0.7.22 found this release on GitHub, checked it against its SHA-256 file, replaced both saved copies and started it within seconds.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
Thanks to @amithacoon for the detailed unpacking analysis (#13) and @Expliicityy for the report (#14).
PS5 Library 0.7.22
Changes
- Updates from the library. Settings → Updates shows the running version and the latest release, with what is new. Install downloads the new release, checks it against its SHA-256 file and writes it over the copies of PS5 Library that your payload manager or autoloader starts (Payload Manager, etaHEN and other payload folders, the root of USB drives), then switches to it. Other payloads are not touched. The library checks shortly after it starts and twice a day and shows a notification once per new version; nothing installs on its own, and automatic checks can be turned off.
- Pairing for phones and computers. A phone or computer now pairs once before it can use the library: scan the QR code in Settings → Devices on the console, or choose Show code on PS5 and enter the six-digit code from the notification. Settings → Devices lists paired devices and removes them. The console's own browser needs no pairing;
"pairing": falseinconfig.jsonturns pairing off. - Room for the queue. The game page shows the space free on the drive, what unfinished downloads still need and what is left after them and this game. A download that would not fit asks first.
- Phone layout. On a phone the library uses one column and a tab bar along the bottom. Settings sections scroll sideways, file details open under the file you tap, and text fields no longer make Safari zoom in.
- Payload Manager source. Payload Manager can list PS5 Library: add
https://raw.githubusercontent.com/deox1111/ps5-library/main/payloads.jsonunder Settings → Manage Sources.
Validation and limitations
Host build, integration tests (pairing codes, wrong codes, removing a device, stored token hashes; update checks, a wrong checksum, replacing every saved copy but not the installer companion or other payloads, stopping during an update), SHA-256 test vectors and UI checks passed. The phone layout was checked at 390 px in Chrome's iPhone emulation; the PS5 layout is unchanged. On a PS5 (firmware 13.60) an unpaired computer was refused and a phone paired with Safari. An update from a test release on the local network downloaded, passed the checksum, replaced the Payload Manager copy and the library's own copy, and the new version took over 3 seconds after Install. After publishing, the console found this release through GitHub's API, with its notes and both files; installing from GitHub will first run with the next version. From 0.7.21, load this ELF by hand once. Phones and computers you already use need to pair once after updating.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
PS5 Library 0.7.21
Changes
- Faster downloads (#12). Every download connection now asks the console for a larger TCP receive buffer. The console's default of 64 KiB limited each connection to about 64 KiB per round trip (1.8 MB/s at 35 ms); it now grants 512 KiB. On a wired 1 Gbps line, an HTTPS mirror went from 6.4 to 24 MB/s with one connection and from 38 to 112 MB/s with eight.
- Writing no longer pauses the download. Finished parts go to storage on their own thread. Before, the download stopped reading the network while it wrote, about half of the time at 80 MB/s.
- Slow and stuck connections don't hold up the rest. When one connection falls behind and the others would have to wait for it, an idle connection takes over half of what it still has to fetch. A connection that delivers nothing for 3 seconds is replaced. An interrupted part continues where it stopped instead of starting over, and the first retry after a dropped connection happens right away.
- Connection details in Downloads (#12). While a parallel download runs, a line under it shows each connection's speed, storage write speed and load, read-ahead use, how often connections waited for the slowest part, how many slow parts were shared and stalled connections replaced, and the TCP receive buffer.
- Restart ShadowMount. A ShadowMountPlus that has run for a long time can stop registering new games: it reports failed installs until it is restarted. A game waiting for registration now offers Restart ShadowMount next to Retry scan. It relaunches ShadowMountPlus (the file Payload Manager autoloads, the newest one in the usual payload folders, or
shadowmount_elfinconfig.json) and waits for the game to register. Close any game that runs from an image or game folder first. - Back after Rest Mode. When the library reopens its connection after Rest Mode, a notification says "PS5 Library is active again after Rest Mode".
- Resumable downloads from Files. Files you download from Files to a phone or computer carry a validator (ETag), so the browser or a download manager can resume or split them.
Validation and limitations
Host build, the parallel-download suite (a slow first part, repeated drops, a host that stops sending for 20 s, rate limits, pause/resume, exact file bytes), integration tests (including Restart ShadowMount with a test loader) and UI checks passed. On a PS5 (firmware 13.60) on a wired 1 Gbps line: HTTPS downloads from a public mirror reached 112 MB/s to the internal SSD and 117 MB/s to a USB drive with 8 connections, and a 792 MB ISO downloaded in under 9 s with the correct SHA-256. Two game downloads from a file host ran at 70–88 MB/s, and a stuck connection cost about 5 s instead of 20. On Wi-Fi the same console was limited by its wireless link (16 MB/s, 36 MB/s after switching it to 5 GHz). The console grants at most 512 KiB per connection, so one connection on a long route stays limited; use 4 or 8. Restart ShadowMount was tested against a simulated ShadowMountPlus but not yet on a stuck registration on the console, and the Rest Mode notification has not been observed on the console yet.
Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
Thanks to @amithacoon for the detailed report in #12.
PS5 Library 0.7.20
Changes
- Files. A new tab in the top bar: a simple file manager for the internal SSD (
/data) and USB drives. Select an item with the D-pad; its details and actions appear on the right. - Unpack here extracts a ZIP, 7z or RAR archive, split sets too (
.7z.001,.part1.rar), into a new folder next to it. The archive stays. - Install a game image, package, archive or game folder you copied over; it goes through the same steps as a download. Installing a split archive now uses all its parts.
- Copy or Move, then Paste here in the target folder. On one drive a move is instant; between drives it runs in Downloads with progress, pause and cancel. The copy only appears complete, and a move deletes the original last.
- Rename, New folder, Delete, a filter and sorting by name, size or date. On a phone or computer, Download saves a file to that device. Drive roots, the library's own settings files and a running job's folders are protected.
- Show in Files (My games), Show files (Downloads) and Browse (Settings → Downloads) open the matching folder.
- Settings have a section menu on the left, with one section at a time: Catalogs, Downloads, Accounts, Console, Guide, About.
- Symbols instead of "?" The console's fonts lack some symbols, for example the Cross sign in the controller hints. Hints, checkmarks and the search icon are drawn as icons now.
- Fresher look: a pill navigation bar, gradient buttons and progress bars, glass panels and a brighter focus ring for the controller.
- More fits on screen. The PS5 browser has no full-screen mode for web pages, so its bars stay; in its window the layout is denser and shows more of the library.
Validation and limitations
Native build, host integration (including unpacking plain and split archives, copy jobs, instant moves, downloads and refused paths) and UI checks passed. Tested on PS5 firmware 13.60 in the library's own test folders: unpacking on a USB drive, copying USB → internal and moving back as jobs, rename and instant move, a file download with matching SHA-256, and a protected drive root. A test page in the PS5 browser confirmed that it provides no Fullscreen API and which symbols its fonts lack. The layout was checked in the browser's 1540×700 window with live data.
Copying and unpacking queue behind running downloads. Load the new ELF; it replaces the running version and keeps your catalogs and settings. A download in progress pauses; Resume continues it.
PS5 Library 0.7.19
Changes
- AllDebrid (#10). Paste your AllDebrid API key in Settings → Download accounts. PS5 Library checks the key, shows your plan and premium date, and saves the hosts AllDebrid supports for your account.
- Sources on those hosts get Download with AllDebrid on the game page and in the source picker (marked "· AllDebrid"). The link is unlocked through the AllDebrid API, delayed links included, then downloads and installs through the normal download manager. Browser verification stays available for every source.
- Expired links are unlocked again. Dead links, unsupported hosts, quota and API errors fall back to the normal flow, and Downloads shows AllDebrid's reason.
- The key stays on the console: the API only returns its last four characters, and it is sent in a header, never in a URL or log.
- Mirrors a saved account serves (AllDebrid, TorBox or a host's premium key) are tried first.
Validation
Native build, host integration and UI checks passed, including a mock AllDebrid API: key check, host list, direct and delayed links, a dead link falling back with its reason, and downloading only the chosen source. On PS5 firmware 13.60 the console reached the real AllDebrid API, which rejected an invalid test key as expected. A real premium download was not part of this test.
Load the new ELF; it replaces the running version and keeps your catalogs and settings.