ps5-payload-dev / websrv

A simple web server for jailbroken PS5s that accepts connections on port 8080
GNU General Public License v3.0
29 stars 3 forks source link

ps5-payload-websrv

This is a simple web server that can be executed on a Playstation 5 that has been jailbroken via the BD-J or the webkit entry points. It can be used to launch homebrew via the Webkit browser embedded with the PS5, or remotely from your PC, phone, etc.

Quick-start

To deploy ps5-payload-websrv, first make sure ps5-payload-elfldr is running, then load the payload as follows:

john@localhost:~$ export PS5_HOST=ps5
john@localhost:~$ wget -q -O - https://github.com/ps5-payload-dev/websrv/releases/download/v0.14/Payload.zip | gunzip -c -d | nc -q0 $PS5_HOST 9021

To interact with ps5-payload-websrv, either install the Launcher PKG on your PS5, or point your browser to one of the available services exemplified below.

Available services

Examples:

Installing Homebrew

The web server will search for homebrew in /data/homebrew, and makes a couple of assumtions on the filestructure. More specifically, suppose you have a homebrew called MyHomebrew, the loader assumes that the following files exist:

You can also add your own custom UI extentions by specifying a javascript file named:

This is useful when the payload accepts different command line options, e.g., an emulator that expects arguments for loading roms. For an example on available capabillitiles, see:

For real-world homebrew, checkout the latest release at:

Building

Assuming you have the ps5-payload-sdk installed on a Debian-flavored operating system, the payload can be compiled using the following commands:

john@localhost:ps5-payload-dev/websrv$ export PS5_PAYLOAD_SDK=/opt/ps5-payload-sdk
john@localhost:ps5-payload-dev/websrv$ ./libmicrohttpd.sh # build and install libmicrohttpd to $PS5_PAYLOAD_SDK
john@localhost:ps5-payload-dev/websrv$ make

Known Issues

Reporting Bugs

If you encounter problems with ps5-payload-websrv, please file a github issue. If you plan on sending pull requests which affect more than a few lines of code, please file an issue before you start to work on you changes. This will allow us to discuss the solution properly before you commit time and effort.

License

ps5-payload-websrv uses smoothscroll and xterm.js to render its web interface, both which are licenced under the MIT licence. Unless otherwhise explicitly specified inside induvidual files, The rest is the source code included with ps5-payload-websrv are licensed under the GPLv3+.