This is a project designed for the ESP32-S2, ESP32-S3 and ESP32 boards to provide a wifi http server, dns server and USB storage emulation.
it is for the PS4 9.00 OOB Exploit which is now combined with PsFree.
the only files required on the storage of the esp32 are the .bin payloads, everything else is handled internally including generating a list of payloads.
you can still modify the html by uploading your own index.html, if there is no index.html on the storage the internal pages will be used.
if you have problems compiling the sketch make sure the ESP32 library version is not above 2.0.14.
the firmware is updatable via http and the payload files can be managed via http.
if you select a No OTA
partition the firmware update via http will not be available.
you can access the main page from the userguide or the consoles webbrowser using any hostname.
if your board is a ESP32 the usb emulation will not be available
so you will need to wire a usb drive up to it like this project PS4-Server-900u or you can manually plug and unplug a usb drive for exfathax.
this is a wiring diagram for the ESP32 boards.
if your board is a ESP32-S2 you do not need a usb drive with this project as it emulates a usb mass storage device to the console and triggers a filesystem bug to leverage the exploit(exfathax).
if your board is a ESP32-S3 you do not need a usb drive with this project as it emulates a usb mass storage device to the console and triggers a filesystem bug to leverage the exploit(exfathax).
the project is built using ESPAsyncWebServer and AsyncTCP so you need to add these libraries to arduino
install or update the ESP32 core by adding this url to the Additional Boards Manager URLs section in the arduino "Preferences".
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json
then goto the "Boards Manager and install or update the "esp32" core, do not update above version 2.0.14.
if you have problems with the board being identified/found in windows then you might need to install the USB to UART Bridge drivers.
these dongles have been tested and work, they are a great way to have a compact exploit tool
:ok: LILYGO T-Dongle-S3
:ok: ESP32-S2 Dongle
these ESP32-S2 boards can be used for a plug and play setup(no wiring)
4MB boards
:ok: S2 Mini
:ok: TinyS2
:ok: Adafruit QT Py ESP32-S2
:ok: ESP32-S2-DevKitC-1
:ok: LILYGO TTGO T8 ESP32-S2 WOOR
:ok: LILYGO TTGO T8 TF Card Slot
16MB boards
:ok: FeatherS2
:ok: ESP32-S2-DevKitM-1 Wiring Diagram
:ok: ESP32-S2-Saola-1 Wiring Diagram
:ok: Ai-thinker ESP 12K Wiring Diagram
these ESP32-S3 boards can be used for a plug and play setup(no wiring)
:ok: ESP32-S3-DevKitC-1
installation is simple you just use the arduino ide to flash the sketch/firmware to the esp32 board.
next you connect to the wifi access point with a pc/laptop, PS4_WEB_AP is the default SSID and password is the default password.
then use a webbrowser and goto http://10.1.1.1/admin.html 10.1.1.1 is the defult webserver ip or http://ps4.local
on the side menu of the admin page select File Uploader and then click Select Files and locate the data folder inside the ESP32_Server_900u folder in this repo and select all the files inside the data folder and click Upload Files
you can then goto Config Editor and change the password for the wifi ap.
alternatively if you install this plugin to the arduino ide you can upload the files to the board storage with the arduino ide by selecting Tools > ESP32 Sketch Data Upload
Arduino ESP32-S2 filesystem uploader
the files uploaded using this method are found in the data folder inside the ESP32_Server_900u folder.
admin.html - the main landing page for administration.
index.html - if no index.html is found the server will generate a simple index page and list the payloads automatically.
info.html - provides information about the esp board.
upload.html - used to upload files(.bin) to the esp board for the webserver.
update.html - used to update the firmware on the esp board (fwupdate.bin).
fileman.html - used to view / download / delete files on the internal storage of the esp board.
config.html - used to configure wifi ap and ip settings.
format.html - used to format the internal storage of the esp board.
reboot.html - used to reboot the esp board
i have created some basic printable cases for the following boards.
these cases can be printed in PLA without supports.
Adafruit QT Py
UM FeatherS2
UM TinyS2
Wemos S2 Mini
DevKitM-1
ESP32-S2-Saola-1
LILYGO-TTGO-T8-TF-Card-Slot
LILYGO-TTGO-T8-WOOR
if you wish to edit the cases you can import the .stl
files into Tinkercad and edit them to suit your needs.