English · Русский
Your PS5 game store.
Back from the dead, rebuilt from its own binary, with every line of source in the open.
Install · Features · Updates · Troubleshooting · Build it yourself
Note
The original Overdrive project has been shut down so I decompiled the last released build, recovered the complete source and rebuilt it.
- 1,800+ games to discover, with Top rated, New releases and a featured spotlight
- Browse the whole library with filters, sorting, scores and download sizes at a glance
- Downloads straight to the console, to internal storage or any USB drive, with live speed and storage stats
- File formats before downloading: each source shows its known extension (such as
.ZIP,.EXFATor.PKG) in the source list and selected-source summary. Unknown formats stay blank. A circular spinner indicates a check in progress; a checkmark Verified badge means the host lists the file, not that its bytes or download permissions have been verified. Unverified sources show no status text; missing files retain a warning. - Opening a game checks source metadata in the background (up to three requests at once). VikingFile, DataNodes and FileKeeper pages expose advertised formats and sizes; direct file links use HEAD requests. Results are cached in memory for 10 minutes (one minute for failed or unverified checks), with a refresh button in the source picker. Unsupported hosts, verification pages and network errors remain unverified. Missing sources stay selectable. Sizes from host pages are rounded, multipart totals are approximate, and none of this metadata changes download routing or byte-verification limits. Live checks still need PS5 hardware validation.
- Source checks prioritize the selected download and cancel requests when no open screen needs them. Cached-only checks do not trigger extra UI updates. The source picker shows All Formats | PKG | Dump | exFAT | Package | Archive. PKG includes PKG/FPKG; Package includes FFPFSC/FFPKG/FFPFS; Dump includes folder dumps and archives; Archive includes ZIP/RAR/7z and the supported TAR types. Archives intentionally appear under both Dump and Archive. When a host exposes an archive-member listing, known contained extensions are shown and can also match the PKG/Package/exFAT filters. A generic empty archive widget is not a contents listing; no CAPTCHA bypass, archive download or extraction is done to guess its contents. Settings can save a preferred format for initial source recommendations; changing a preference or filter never switches an explicitly selected or queued source. Existing full-game and compatibility ranking takes precedence over format preference. Unknown links remain available under All Formats. Previous Images preferences migrate to Package, and previous Packages preferences migrate to PKG.
- Files are scanned incrementally outside rendering, yielding every 64 entries or about 8 ms.
A shared 4,000-entry budget and depth limit bound each scan. Partial sizes are marked
~, unreadable storage is reported, Scan again retries, and file rows are virtualized. Individual native directory reads remain synchronous; this is not a background-thread filesystem scanner. - Favorites, search with an on-screen keyboard, and a Files page to see and clean up what's on your drives
- 13 languages: English, Deutsch, Español, Français, Português (Brasil), Русский, Bahasa Indonesia, 日本語, 简体中文, العربية, اردو, हिन्दी, বাংলা
- Updates itself: a new version installs from the console, no PC needed
- Made for the controller: L1 R1 to switch sections, ✕ to select, ○ to go back
You need a jailbroken PS5 running two payloads: ShadowMount+,
which installs .exfat images by itself, and kstuff.
If ShadowMount+ shows its notification when the console starts, you are ready. You also need a
USB drive and a PC.
|
Download |
|
|
Copy it onto a USB drive, inside a folder called The drive must be formatted as exFAT, which is how most drives come and what the PS5 reads. |
|
|
Plug the drive into the PS5. ShadowMount+ checks for new files every few seconds: it finds Overdrive, mounts it and installs it, and a notification tells you when it's done. There is nothing to click. |
|
|
Open Overdrive from the home screen. Look for this icon. Enjoy! |
You can also use any FTP client to move the file onto the console's internal storage
instead, again inside a homebrew folder: /data/homebrew/Overdrive.exfat.
Open Settings → TorBox Settings → TorBox API Key. Enter your own API key from your TorBox account settings (not a token copied from a CDN URL). The key is visible while editing, including in right-to-left locales. Press R2 / Validate and save to check it with TorBox's read-only account endpoint. The dialog shows validation progress, rejects repeated submissions, and stays open on errors. Cancel aborts the check without saving. A successful check saves the key and closes the dialog.
The key is restored on later launches from overdrive/torbox.json in the app's writable data
directory, separate from the installed image and saved download queue. Writes are atomic and the
credential file is restricted to its owner (0600); it is not encrypted. Do not share this file
or data-directory backups. Settings shows that the key is saved; select it to edit/revalidate, or
choose Remove TorBox API Key in TorBox Settings to delete it and disable TorBox. Replacing an invalid key or a
failed save leaves the previous key unchanged. Validation checks authentication, not host support
or your plan's download limits. No validation download is created.
Supported Platforms in TorBox Settings loads the official public host list and shows a checkbox for each platform. Uncheck a host to use the original download flow; choices persist across launches and apply to all that host's listed aliases. Live host availability is checked as well. LinkVault wrappers, unsupported hosts and hosts marked unavailable do not go through TorBox, regardless of the provider label. A failed host-list check is reported and uses normal routing until a refresh succeeds. The list is cached for ten minutes (one minute after a failed check).
When enabled for a supported host, host-page sources resolve through TorBox's web-download API instead of opening the PS5 browser. Direct files and split manifests still use their normal path. TorBox may first need to cache the file; Overdrive shows preparation percentage and ETA while Resolving for up to about ten minutes of polling, after which you can resume later. Multipart archive volumes are submitted separately. Existing TorBox items with the exact same source URL are reused, and remote items are never deleted by Overdrive. If TorBox reports a newly unsupported or temporarily disabled host, Overdrive falls back to the original source and bypasses TorBox for that host until the host list is refreshed. Account/plan errors, transfer errors and ambiguous multi-file results remain explicit failures; they are not disguised as host support failures. This sends the selected host link to TorBox and uses your account's limits. Support depends on your TorBox plan and the host; it is not guaranteed by the metadata check.
Signed TorBox URLs are generated again on resume and omitted from the saved queue. Keep a valid key configured when resuming a TorBox transfer. Removing the key does not cancel an already active transfer. Do not share API keys or signed CDN links. API behavior is tested with mocked responses; an authenticated TorBox download and PS5 execution still require validation with your own account.
If a TorBox CDN returns HTTP 401/403/404/410 during a transfer, Overdrive requests a fresh link and resumes the same owned partial file, with at most two automatic renewals per file/volume. Native size, validator and checkpoint checks still have to match; changed content is not appended. An explicit Resume resets the renewal budget. Account errors, disk failures and changed-file errors do not trigger this link-renewal path. No automatic source switching or restart-from-zero is performed.
The native resume-tail check now retries transient network/HTTP failures with bounded backoff, like the initial range probe. Suspension recovery grace also covers those two probe phases. Completed ranges remain checkpointed; partially received ranges may be fetched again. These paths have local interruption/retry tests, not a claim of universal PS5 rest-mode compatibility.
This fork defaults to releases from rohit1521/overdrive, not the upstream project. The existing
data-directory overdrive/update-feed override still takes precedence. An update is offered only
for a newer published release with the required asset and digest; draft builds are not offered.
The current application version is 1.0.9, with PS5 content version 01.005.000.
You only install Overdrive by hand once. When a new version comes out, the app tells you by itself a few seconds after it opens:
- A window shows the new version and what changed. Press Install.
- Overdrive downloads the update, checks it and puts it in place of the old one.
- When it's done, the app closes itself. Open it again and you are on the new version.
The update needs about 600 MB free on the drive that holds Overdrive. update.zip in each
release is the package the app downloads for this; you never need it yourself.
Overdrive is free and open source. If you enjoy it, sponsoring helps me keep it updated.
Overdrive doesn't appear on the home screen
- Make sure ShadowMount+ is running: it shows a notification when it starts.
- Check the folder: it must be called exactly
homebrewand sit at the top level of the drive, not inside another folder. - Check the file still ends in
.exfat. Some PCs hide extensions: a file renamed toOverdrive.exfat.zipor unzipped into a folder won't be found. - Give it a minute: ShadowMount+ waits until the file has finished copying before it installs it.
After an update, the app still shows the old version
The new version is installed but the console still has the old one loaded. Restart the console and open Overdrive again; the app tells you this itself if it happens twice in a row.
The update says there isn't enough space
The update is downloaded next to the installed app, so the drive holding Overdrive needs about 600 MB free. Free some space on that drive and press Retry. Nothing has been changed yet when this happens.
The update says it couldn't replace the app
Install it by hand: download Overdrive.exfat from the
latest release, close Overdrive, and copy
the new file over the old one in the homebrew folder.
How do I remove Overdrive?
Delete Overdrive.exfat from the homebrew folder first, then delete its icon from the home
screen. In the other order ShadowMount+ finds the file again and puts the icon back.
What's in this repository
| Path | What it is |
|---|---|
app/ |
The application: JSX sources, state, assets, catalog data, and app.json (title id PPSA99058, version, capabilities) |
ps5-react/ |
The framework it runs on, vendored from half144/ps5-react |
packaging/make-exfat.sh |
Builds the exFAT image ShadowMount+ installs |
.github/workflows/build.yml |
The build |
How the source was recovered
Overdrive is a React app running on ps5-react, and its
whole JavaScript bundle sits in plain text inside eboot.bin. A bundler merges every module into
one scope, so imports between modules turn into bare names; since each top-level name stays
unique, the module that declares a name can be worked out again. That split the bundle back into
its 137 original modules with their real import/export lines, checked against the original
bundle until every import edge matched.
What a bundler throws away could not come back: most comments, the JSX syntax (it reads as
jsx(View, {…}) calls), and const/let (now var). None of that changes how the app behaves.
Developing
Everything runs from the repository root through npm. Once after cloning, npm run setup
(packaging/setup.sh) installs every dependency: on Linux the apt packages for the desktop preview,
the PS5 build and the tests (it asks for sudo once), on macOS the Homebrew formulae; then Pillow
and the framework's npm packages. Read the script first if you'd rather install them yourself.
git clone https://github.com/rohit1521/overdrive.git
cd overdrive
npm run setup # once; asks for sudo on Linux
npm run dev # the app in a window on your PC, rebuilt on every save under app/| Command | What it does |
|---|---|
npm run setup |
Installs every dependency, once after cloning |
npm run dev |
Opens the app in the desktop preview and rebuilds it on every save (state resets on restart) |
npm run preview |
Opens the desktop preview once, without watching |
npm test |
The framework's checks; needed after changes under ps5-react/, not for app/ only |
npm run test:app |
Application formats, metadata, TorBox API/queue and localization checks (Node.js 22.7+) |
npm run build |
The PS5 app, then Overdrive.exfat and update.zip (see Building) |
npm run build:app |
The PS5 app only, in ps5-react/dist/PPSA99058 |
The preview is the console's UI on your PC, so it takes a controller or the keyboard, and a mouse
as a developer's shortcut. The first npm run dev downloads and compiles the framework's pinned
dependencies, which takes a while; later starts are quick.
| Action | Keyboard | Mouse | PS5 |
|---|---|---|---|
| Move focus | Arrow keys | Wheel (up/down) | D-pad |
| Select | Enter or Space | Left click on the element | ✕ |
| Back | Backspace | Right click | ○ |
| Sections | Q / E | — | L1 / R1 |
| Favorite | F | — | □ |
| Quit the preview | Escape | — | PS button |
The app's code is under app/ (see "What's in this repository"); a change there needs no rebuild
of the framework. Keep new user-facing strings in every file of app/i18n/locales/. On Linux the
preview is compiled with clang (CC=clang CXX=clang++, set by the npm scripts), since GCC stops on
a bounds warning in archive_preflight.cpp. Linux support for the preview is this fork's addition;
upstream ps5-react supports macOS only.
Building
Builds run on ubuntu-24.04 with clang 18, only from Run workflow: a push builds nothing.
Each run puts Overdrive.exfat and update.zip in a draft release named after
app/version.js, which only maintainers can see.
The same build locally, from the repository root, after npm run setup (see Developing):
npm run build # the app, then Overdrive.exfat and update.zip here
npm run build:app # the app only, in ps5-react/dist/PPSA99058packaging/build.sh behind them finds LLVM 18 where apt or Homebrew put it (set
LLVM=<its bin directory> otherwise), builds through ps5-react/tools/build_ps5.py, then runs
packaging/make-exfat.sh under sudo, since the image is mounted to be filled. The build
downloads its pinned dependencies into ps5-react/.deps and writes the app folder, a .zip and a
.receipt.json into ps5-react/dist. It verifies the result itself (tools/verify.py), so a
green build means the payload structure and signatures check out.
The image is a plain exFAT volume whose root is the app folder, with 64 KiB clusters and the
label OVERDRIVE. To release a new version, raise the version in app/version.js and
app/app.json, run the workflow, test the draft's image on a console, then publish the draft:
that creates its tag, and installed apps offer exactly the tested files on their next start.
Fixes over upstream ps5-react
Two fixes in the vendored framework, both in the build tooling and both reported by a Linux build:
ps5-react/tools/common.pyread thegit apply --summaryline with a fixed space count, which glued the file mode onto the path (100644 <path>) and made every fresh dependency checkout fail on the first patch that creates a file. It now splits on whitespace.ps5-react/tools/build_ps5.pyopened the pinned LLVM package'sdata.tar.zstwithtarfile, which reads zstd only from Python 3.14 while the documented minimum is 3.12. It now falls back to thezstdcommand.
Nothing else in the framework is changed.
- MyLuxy, who decompiled Overdrive, recovered its source and rebuilt it.
- ps5-react, the framework it runs on.
- ShadowMount+ by drakmor, which installs it.
ps5-react/ is GPL-3.0-or-later and carries its own LICENSE, LICENSE-ATTRIBUTION and
NOTICE. Every dependency notice is copied into notices/ inside the built app, and
ps5-react/docs/DEPENDENCIES.md lists them with their sources.
Overdrive is an unofficial homebrew project and is not affiliated with or endorsed by Sony Interactive Entertainment. PlayStation and PS5 are trademarks of Sony Interactive Entertainment.