stooged / ESP32-Server-900u

900 with usb emulation
188 stars 56 forks source link

ESP32 Server 9.00u


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.


ESP32 Boards

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.

ESP32-S2 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).

ESP32-S3 Boards

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).


Libraries

the project is built using ESPAsyncWebServer and AsyncTCP so you need to add these libraries to arduino

ESPAsyncWebServer
AsyncTCP


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.


Dongles

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


Tested Boards

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



these ESP32-S2 boards will need a usb A plug wired up to them.

4MB boards

: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


Uploading to board

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.


Internal pages



Cases

i have created some basic printable cases for the following boards.
these cases can be printed in PLA without supports.

ESP32-S2 Boards

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

ESP32-S3 Boards

S3_DevKitC_1

ESP32 Boards

NodeMCU-32


if you wish to edit the cases you can import the .stl files into Tinkercad and edit them to suit your needs.