
Servidor Web de Exploit para PS5 em um Raspberry Pi Alimentado pela Porta USB do PS5
Use o Raspberry Pi OS Lite 64-bit, Bookworm ou mais recente com NetworkManager. Um cartão SD de 64 GB tem espaço suficiente. Isto executa o host Python existente; não grave o binário ESP32 no Pi ou no seu cartão SD.
O Pi cria uma rede Wi-Fi para a PS5. O seu servidor DHCP atribui à consola
um endereço IP e diz-lhe para usar o Pi para DNS. O DNS resolve
manuals.playstation.net para 192.168.4.1, onde os servidores Python servem este
projeto por HTTP e HTTPS. Abrir o Guia do Utilizador da PS5 carrega a página local.
O instalador copia o site para /home/ps5, instala as suas dependências,
gera um certificado TLS autoassinado local e cria serviços systemd.
Inicia o host quando a instalação termina e ativa-o em cada arranque;
não precisa de deixar um terminal ou sessão SSH aberta.
Precisa de um Raspberry Pi com Wi-Fi compatível com hotspot, um cartão SD com Raspberry Pi OS, uma fonte de alimentação adequada e acesso à Internet durante a instalação. Use Ethernet para a configuração porque o Wi-Fi integrado do Pi se torna o hotspot. Defina o país do Wi-Fi para US se usar o Pi nos Estados Unidos.
Clone este repositório no Pi e depois execute o instalador através de SSH por Ethernet ou de uma consola local:
sudo apt-get update
sudo apt-get install -y git
git clone https://github.com/flex36ty/ps5-pihost.git ~/ps5-selfhost
cd ~/ps5-selfhost
sudo bash setup-pi5.sh
Apesar do nome do ficheiro, o instalador verifica as capacidades de Wi-Fi em vez de exigir um Pi 5. Outros modelos não foram verificados em hardware. Este repositório contém apenas a instalação do script.
As instruções de arquivo abaixo aplicam-se se recebeu o tar.gz empacotado separadamente. Em alternativa, descarregue o ZIP do repositório, extraia-o e carregue o seu conteúdo para o Pi.
Use o Raspberry Pi Imager para instalar o Raspberry Pi OS. Configure um nome de utilizador,
palavra-passe e SSH, e defina o seu país de Wi-Fi real (ou use sudo raspi-config
após o arranque). Ligue Ethernet para instalação e acesso remoto, se possível.
Ative o SSH no Imager, ou execute isto a partir de um terminal no Pi:
sudo systemctl enable --now ssh
hostname -I
A partir do Windows PowerShell, ligue-se usando o seu nome de utilizador e o endereço
IP Ethernet do Pi, por exemplo ssh [email protected].
Use as mesmas credenciais para SFTP na porta 22; não é necessário login root.
Carregue ps5-pi5-selfhost.tar.gz da pasta releases do projeto para a
pasta home do seu utilizador do Pi usando SFTP. Extraia e instale-o:
mkdir -p ~/ps5-selfhost
tar -xzf ~/ps5-pi5-selfhost.tar.gz -C ~/ps5-selfhost --strip-components=1
cd ~/ps5-selfhost
sudo bash setup-pi5.sh
O arquivo contém uma pasta de nível superior, por isso --strip-components=1 coloca
o instalador diretamente em ~/ps5-selfhost. Se carregar o projeto inteiro
em vez disso, execute o instalador a partir da pasta que contém setup-pi5.sh.
Opcionalmente, escolha um nome/palavra-passe diferente:
sudo bash setup-pi5.sh --ssid PS5-Host --password 'YourChosenPassword'
A configuração inicia todos os serviços imediatamente e ativa-os em cada arranque. Execute a configuração através de SSH por Ethernet ou de um teclado/ecrã local: a ativação converte o Wi-Fi integrado num hotspot e desliga uma sessão SSH que use esse Wi-Fi. A Internet é necessária para a instalação de pacotes, não para o alojamento normal. A ativação no arranque tenta novamente enquanto o adaptador Wi-Fi inicializa. A configuração verifica todos os serviços e imprime diagnósticos se o arranque falhar.
Para uma instalação existente, pare-a antes de executar novamente a configuração:
sudo systemctl stop ps5-host.target
cd ~/ps5-selfhost
sudo bash setup-pi5.sh
ps5-host.target agrupa quatro serviços. É um target systemd, não uma sessão de
terminal. A configuração ativa-o sob multi-user.target e inicia-o imediatamente.
| Unidade | Finalidade |
|---|---|
ps5-hotspot.service | Ativa o ponto de acesso Wi-Fi do NetworkManager; tenta novamente enquanto o adaptador inicializa |
ps5-dns.service | Fornece DNS na porta 53 e DHCP na porta UDP 67 |
ps5-http.service | Executa /home/ps5/serve.py na porta TCP 80 |
ps5-https.service | Executa /home/ps5/serve_https.py na porta TCP 443 |
Ambos os servidores Python são executados ao mesmo tempo. O DNS espera que o hotspot inicie. Os processos web e DNS reiniciam em caso de falha. Parar o target para todos os quatro serviços; reiniciá-lo reinicia-os em conjunto.
Verifique a ativação no arranque e o estado dos serviços:
systemctl is-enabled ps5-host.target
systemctl status ps5-host.target ps5-hotspot ps5-dns ps5-http ps5-https --no-pager
O target deve estar enabled, o hotspot active (exited), e os serviços DNS e
web active (running). O hotspot usa um comando de ativação one-shot,
por isso active (exited) é normal. Reinicie e repita estas verificações para confirmar o arranque
no seu Pi.
| Definição | Valor |
|---|---|
| Rede Wi-Fi | PS5-Host |
| Palavra-passe | ps5offline (a menos que alterada durante a configuração) |
| Endereço IP | Automático |
| DNS | Automático |
| Nome do host DHCP | Não especificar |
| MTU / Proxy | Automático / Não usar |
| IP do hotspot do Pi | 192.168.4.1 |
| Pool DHCP | 192.168.4.100–192.168.4.150, concessão de 12 horas |
Abra o Guia do Utilizador e avance para além do pedido de certificado local, se for apresentado. O DNS direciona manuals.playstation.net para o Pi; o HTTPS trata do pedido do guia. R2 envia nanoDNS, ShadowMount Plus, depois kstuff. O hotspot não tem partilha de Internet configurada, por isso o teste de ligação à Internet/PSN pode falhar enquanto a página local funciona. O Ethernet continua disponível para administrar o Pi.
Depois de o exploit atingir o carregador ELF, R2 envia estes ficheiros por ordem:
payloads/nanodns.elfpayloads/shadowmountplus.elfpayloads/kstuff.elfMantenha estes nomes de ficheiro e capitalização exatos. A ordem é definida em
src/kexp.js; adicionar outro ficheiro ELF à pasta não o adiciona automaticamente
à sequência R2. etaHEN.elf não faz parte desta sequência.
sudo systemctl start ps5-host.target
sudo systemctl stop ps5-host.target
sudo systemctl restart ps5-host.target
sudo systemctl status ps5-hotspot ps5-dns ps5-http ps5-https
sudo journalctl -u ps5-hotspot -u ps5-dns -u ps5-https -f
A partir de um computador ligado ao hotspot:
nslookup manuals.playstation.net 192.168.4.1
curl -k https://192.168.4.1/
Use /home/ps5 para ficheiros web e payloads. Reinicie os serviços web após alterar
ficheiros Python; feche/reabra o guia da PS5 após alterar JavaScript. Para reinstalar,
pare o target e execute novamente este instalador. Não execute o setup-ps5.sh genérico do contentor
nesta instalação de hotspot: ele configura um serviço DNS diferente.
O instalador cria um perfil NetworkManager dedicado e um serviço
ps5-dns dedicado. Não altera perfis Ethernet, não instala NetworkManager
sobre outra pilha de rede, não substitui serviços DNS existentes, nem adiciona regras
NAT/firewall. Se outro serviço DNS/DHCP ocupar as portas necessárias, resolva esse
conflito primeiro. Quando uma firewall está ativada, permita UDP 67, TCP/UDP 53 e TCP
80/443 apenas na interface do hotspot. Mantenha o host na sua rede local.
Recolha estes registos antes de iniciar manualmente o host, para que a falha de arranque seja visível:
sudo journalctl -b -u ps5-hotspot.service -u NetworkManager.service --no-pager -n 100
nmcli device status
rfkill list