8.1 KiB
PS5 WebKit Autoloader
Automatically loads the WebKit exploit and your elf payloads.
Supports firmwares 7.00–13.60.
Other Autoloaders:
Y2JB |
BD-JB |
Lua
Why WebKit Autoloader?
WebKit exploits are usually loaded by pointing your PS5's DNS at some server hosted by someone on the internet. That means you're putting your trust in whoever runs that server — and if it goes down, changes, or disappears, your setup breaks.
This autoloader does it differently:
- Fully offline, no third-party DNS. After a one-time install from your PC, everything is served straight from your PS5. There's nothing external to go down or change behind your back.
- One-time setup, then a homescreen shortcut. Once it's installed, you don't need a PC or the internet — just launch "WebKit Autoloader" from the homescreen and you're done.
- Payloads loaded the way you already know. After the exploit chain runs, your payloads are sent just like in Y2JB / BD-JB / Lua autoloaders — via Payload Manager, or a custom
autoload.txt.
Setup Instructions
There are two ways to set up the autoloader, depending on whether you're already jailbroken.
Already jailbroken? Just load the installer ELF
- Download
webkit-autoloader-installer_vX.Y.Z.elffrom the Releases page. - Send it to your PS5 with
elfldr, or launch it from Payload Manager. - The installer opens the browser to cache the autoloader page (choose Poops or Relapse if prompted), creates the WebKit Autoloader app on the homescreen, and exits.
- Reboot once, then launch WebKit Autoloader from the homescreen.
Not jailbroken yet
If you aren't jailbroken yet, you'll need to host the exploit locally on your PC for the initial setup:
- Download
webkit-autoloader-host.py(or the.exe) from the Releases and run it on a PC on your network. - On your PS5, set your network's DNS server to your PC's IP address.
- Open the User's Guide from Settings to run the installer, which adds the WebKit Autoloader app to your homescreen.
- Reboot once, then launch WebKit Autoloader from the homescreen.
How to Use
There are two ways to configure payloads:
🟢 Option 1: Payload Manager
If no autoload.txt config is found, the autoloader will automatically launch Payload Manager — a fully-featured PS5 payload manager with a web UI. This lets you configure and send payloads directly from your browser, without needing to manually set up config files or transfer ELF files ahead of time.
Just run the autoloader — if there's nothing configured, Payload Manager starts automatically.
Note: Payload Manager also has its own built-in autoload feature, which lets you configure payloads to load automatically on startup — all managed through its web UI. This is separate from the
autoload.txtmechanism described below.
⚙️ Option 2: Manual Config (autoload.txt)
For a fixed, automated payload chain, you can configure payloads manually:
- Create a directory named
ps5_autoloader. - Inside this directory, place your
.elf/.binfiles, and anautoload.txtfile.- In
autoload.txt, list the files you want to load, one filename per line. - Filenames are case-sensitive — ensure each name exactly matches the file.
- You can add lines like
!1000to make the loader wait 1000 ms before sending the next payload.
- In
- Put the
ps5_autoloaderdirectory in one of these locations (priority order - highest first):- Root of a USB drive
- Internal drive:
/data/ps5_autoloader
Note: When an
autoload.txtconfig is found, Payload Manager is not launched automatically. If you also want Payload Manager available, placepldmgr.elfin yourps5_autoloaderdirectory and add it toautoload.txt.
Additional Info
How to update the autoloader?
The autoloader content is cached on the console, so updating is exactly the same as the initial install. Simply follow the Setup Instructions using the new release files.
The latest installer payload will re-create the homescreen app and refresh the cached page for you. Your payloads and autoload.txt on USB / internal storage are never touched.
How to use a custom ELF Loader?
The autoloader uses a custom version of elfldr that only accepts connections from the PS5 itself (localhost). This improves security by preventing unauthorized devices on your network from sending payloads to your console.
If you want to use a "normal" ELF Loader that allows sending payloads from any device, you can simply load it through Payload Manager.
Alternatively, if you are using a manual config file (autoload.txt):
- Place your custom ELF Loader (e.g.
elfldr.elf) in theps5_autoloaderdirectory. - Add
elfldr.elfto yourautoload.txt. - Note: If you are loading other payloads right after
elfldr.elfin yourautoload.txt, add a sleep command immediately after it (like!4000to sleep for 4 seconds) to give the new ELF Loader time to start up and listen before subsequent payloads are sent.
Example autoload.txt:
# Load custom ELF Loader
elfldr.elf
# Give it 4 seconds to start up (only needed if sending more payloads)
!4000
# Send other payloads
etaHEN.elf
For developers
If you want to create or test your own WebKit payloads, check out ps5-webkit-remote-loader, which this project is based on. It lets you send and run JavaScript payloads directly over the network on port 9027.
Build both release artifacts with ./build_release.sh (Docker required). The build
uses remote-loader's standalone HTML and host builders directly. Run make test for
the offline checks (payload, installer, and exploit-selection flow) and make dev for
a local page preview. See ARCHITECTURE.md for the build and cache layout.
Credits
- jordyidk & contributors — slopkit (Poops)
- soniciso1, ntfargo & contributors — Relapse
- john-tornblom — ps5-payload-sdk and elfldr
- See ps5-webkit-remote-loader for runtime and toolchain credits.
- Everyone else contributing to the PS5 homebrew scene.
Disclaimer
This tool is provided as-is for research and development purposes only. Use at your own risk. The developers are not responsible for any damage, data loss, or consequences resulting from the use of this software.
License
This project is licensed under the GPL-3.0 License.