- C# 93.9%
- Shell 6.1%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .github/workflows | ||
| src | ||
| .gitignore | ||
| install.sh | ||
| LICENSE | ||
| README.md | ||
| uninstall.sh | ||
PS5-Exploit-Host-Self-Host-Tool
This program shouldn't be considered production-ready, expose it to the internet at your own risk! If you want to self-host and expose it to the internet consider using actively maintained projects like PiHole for DNS and nginx for the static file hosting. You can find the static files (optionally) already set up with appcache under the releases tab of the PS5-Exploit-Host repo.
Features
All features are customizable and can be disabled individually
- HTTPS file server
- Automatic updates for served files
- By default using cached PS5-Exploit-Host.
- Configurable to work with any github repo, including a specific folder in it.
- More info in notes.
- DNS server
- Blocks all PlayStation domains except manuals.playstation.net, which redirects to your computer's IP.
- Option to block all other domains or specify a whitelist.
- Offline Wi-Fi Access Point
- Compatible with Windows 10 1809+ and Linux.
- Optional internet access on the AP for Linux.
- Optional DNS hijacking on the AP for Linux.
- Tested on Windows 11 PC and Raspberry Pi Zero 2W running Pi OS Lite, both were able to create a Wi-Fi AP while connected to another Wi-Fi network on the same adapter.
Linux Install Script
Automatically download dependencies and set up the program as a service to run at startup.
- If you are using the LAN mode, set up your device with a static IP before running the script!
- After its done follow the Setup section instructions from step 5!
- The
apargument provided here is only for the default config, if a config.ini exists this will not override it. - For Raspberry Pis i recommend using the
Raspberry Pi OS Lite (64-bit)image fromRaspberry Pi OS (other)in the imager. 32-bit images are not supported by this script. - At the end the script will show you the TargetIP setting, double-check that this is correct. You'll need to set this IP as the DNS on your PS5 and use it for the browser pkg.
- At the end the script will show you the default Wi-Fi password if you're using the Wi-Fi AP mode.
- You can also use this script to update the program.
- If you need to modify the
config.ini, you can restart the service usingsudo systemctl restart PS5-Exploit-Host-Self-Host-Tool.serviceafter editing the file.
Wi-Fi AP mode:
curl -s https://raw.githubusercontent.com/idlesauce/PS5-Exploit-Host-Self-Host-Tool/refs/heads/main/install.sh | sudo bash -s ap
LAN mode:
curl -s https://raw.githubusercontent.com/idlesauce/PS5-Exploit-Host-Self-Host-Tool/refs/heads/main/install.sh | sudo bash
Uninstall:
curl -s https://raw.githubusercontent.com/idlesauce/PS5-Exploit-Host-Self-Host-Tool/refs/heads/main/uninstall.sh | sudo bash
Setup
- Download the latest release from the releases page
- Only x64 and arm64 Windows, macOS and Linux systems have a precompiled binary, for other architectures and OSes you'll need to download the
framework-dependentversion and run throughdotnet.
- Only x64 and arm64 Windows, macOS and Linux systems have a precompiled binary, for other architectures and OSes you'll need to download the
- Run the executable
- On the first run it will generate a config file with default values, print the path then exit
- On Windows run through the Terminal to see the output rather than double clicking
- On Windows and Linux you'll need to run as admin/root for the program to be able to kill other processes that use udp port 53
- On Linux and macOS you'll need to run as root to be able to bind to port 53 for the DNS server and port 443 for the HTTPS server
- On the first run it will generate a config file with default values, print the path then exit
- Edit
config.inito your liking. Make sure to set the correctServersBindIPandTargetIP!TargetIPmust be set to the IP that the PS5 can use to access your computer.- This setting is only used for User Guide redirection in the DNS server.
ServersBindIPshould either matchTargetIPor be 0.0.0.0 to bind to all interfaces.- On Windows binding to
0.0.0.0:53will fail sincesvchostis already using that address, and i whitelisted that from being killed since it seems to provide the DHCP for the Wi-Fi AP, thankfully you can still bind toTargetIP:53whilesvchostis running.- To remove this exception and kill all programs using port 53 you can set
KillSvchosttotruein theconfig.ini
- To remove this exception and kill all programs using port 53 you can set
- On Windows binding to
- The app automatically sets the
ServersBindIPandTargetIPto the IP of the first network adapter it finds. Unless you're using the Wi-Fi AP, or have multiple adapters, you'll likely already have the correct IP. - On Windows the Wi-Fi AP will always use
192.168.137.1as the IP, you'll need to setServersBindIPandTargetIPto this address for the Wi-Fi AP to work correctly
- Restart the program
- Change the DNS on your PS5 to match your
TargetIPsettingSettings->Network->Settings->Set Up Internet Connection-> Options button on the registered network ->Advanced Settings->DNS Settings->Manual->Primary DNS: TargetIP,Secondary DNS: empty/0.0.0.0.- If you're using the Wi-Fi AP on Linux, the DHCP server will automatically set the DNS to the correct IP
- Jailbreak through the User Guide then Install a browser pkg
- I have made pkgs for the most common IP ranges using port 20000 which you can download here: https://ps5browser.pages.dev/
- By default the config has
BlockAppCacheRequestsOnHttpsenabled which will send a 404 for appcache manifest requests coming from https(user guide) to avoid having to deal with a stale cache since the appcache will fail to update after a reboot because of the self-signed certificate.- More info in the notes section
- Disable the HTTPS server in the config
- Replace "443" with "" in the
HttpsPortsetting in theconfig.iniand restart the program
- Replace "443" with "" in the
Notes
-
Settings and served files are stored in your user folder
- Windows:
C:\Users\yourusername\.ps5-exploit-host - Linux:
/user/yourusername/.ps5-exploit-hostor/root/.ps5-exploit-host - macOS:
/Users/yourusername/.ps5-exploit-host - This folder also contains a
.internalfolder which shouldn't be edited. It is used hold the ETag of the currently downloaded version so the auto updater can recognize when there's a new update and the dnsmasq and hostapd configs and pids on linux
- Windows:
-
The path of the loaded config file and served folder are displayed at startup
-
If the program detects a
config.ininext to the executable it will use that instead of the one in the user folder -
If the program detects an
index.htmlnext to the executable it will use the exe's folder as the file server root instead ofwwwrootin the app data folder in the user folder- In this scenario the auto updater is disabled
-
Generally i would recommend using appcache without https and only using this program to refresh the cache.
-
If you'd prefer to use the user guide, you can either set
HostFilesAutoUpdaterUseCachedVersiontofalsein theconfig.iniwhich will fetch the files from github on the next start if needed. With this version you'll no longer get the error toast but this wont work offline. -
You can also keep using the user guide with cache after setting
BlockAppCacheRequestsOnHttpstofalsein theconfig.inibut you'll have to do one of the following to update the cache:- Run the appcache remover option in my host
- You can also clear the appcache by connecting to a network with internet and disabling the
UserGuideRedirectoption in theconfig.iniand restarting the app, after which you'll get served the real user guide with the trusted certificate which will clear the old appcache.
-
The
HostFilesAutoUpdaterSourcefield in theconfig.iniaccepts the following values:appcachewhich downloads PS5-Exploit-Host with appcache set up.no-appcachewhich downloads PS5-Exploit-Host without appcache.- Any link to a .zip, but the host must send an
ETagheader, since this is used to determine if the file changed without having to download the zip every time. - A GitHub url in one of the following formats:
https://github.com/idlesauce/PS5-Exploit-Hosthttps://github.com/idlesauce/PS5-Exploit-Host/tree/devhttps://github.com/idlesauce/PS5-Exploit-Host/tree/main/document/en/ps5https://github.com/idlesauce/PS5-Exploit-Host/releases/latest/download/ps5-exploit-host_appcache.zip
-
The auto updater looks for an
index.htmlin the archive and will only extract containing folder of the first match. -
To avoid ever using the default DNS, you can also set up the Wi-Fi connection manually through the
Set Up Manuallyoption in the bottom of theSet Up Internet Connectionmenu which allows you to set the DNS manually before the first connection
Credits
- ARSoft.Tools.Net - DNS server and client