Pubblicato un nuovo aggiornamento per la versione alternativa e minimalista di ps3netsrv-go, il programma ci permette di installare giochi su console PlayStation 3 jailbroken utilizzando WebMAN/IrisMAN tramite rete, senza dover copiare fisicamente i file sulla console.
Il progetto nasce dalla difficoltà di leggere e compilare il codice originale di ps3netsrv su diverse piattaforme, mentre è stato sviluppato anche per divertimento ed educazione, al fine di comprendere e implementare protocolli di rete personalizzati e generare/servire immagini ISO al volo.
Ps3netsrv-go è stato scritto in Go, poiché la compilazione incrociata è molto più semplice rispetto al C/C++ e i binari risultanti funzionano senza librerie esterne sul sistema di destinazione.
L’aggiornamento apporta diverse migliorie, come la quasi separazione dallo stato e dall’interno, l’evitamento della lettura diretta dei file e una corretta chiusura del descrittore di directory durante la scansione.
Sono stati implementati i comandi CmdReadDirEntryV2
e CmdReadCD2048Critical
, migliorata la gestione dei tempi dei file e l’ascolto che ora è limitato a IPv4 per impostazione predefinita, con registrazione degli indirizzi adatti.
Inoltre, è stato rifattorizzato l’encoder ISO, aggiornata la versione di Go a 1.23, e ottimizzate alcune funzioni. Il README è stato aggiornato con informazioni sulla nuova versione del compilatore e suggerimenti per le prestazioni.
Caratteristiche
- Scritto in Go per facilitare la compilazione incrociata e per garantire che i binari risultanti funzionino senza librerie esterne sul sistema di destinazione.
- Attualmente, i file multipart non sono supportati.
- Supporta timeout di scambio dati TCP per ridurre le connessioni “appese”.
- Ora supporta la ricezione di file dalla console (abilitabile con il flag
--allow-write
). - Supporta la decrittazione delle immagini 3k3y/redump al volo, con una ricerca delle chiavi che corrisponde completamente al comportamento del ps3netsrv originale.
Esecuzione del server
Per avviare il server, eseguire il comando: ps3netsrv-go server
oppure specificare una directory root personalizzata con il flag --root
: ps3netsrv-go server --root=/home/user/games
Configurazione
- Il server supporta la configurazione tramite variabili d’ambiente e flag della riga di comando.
- È possibile utilizzare anche un file di configurazione con chiavi di configurazione che corrispondono ai nomi dei flag della riga di comando senza il prefisso
--
. - I file di configurazione vengono cercati nell’ordine:
- Flag
--config
o variabile d’ambientePS3NETSRV_CONFIG_FILE
- File
config.ini
nella directory corrente. - Directory specifica del sistema operativo per i file di configurazione utente.
- Flag
Suggerimenti per l’esposizione del server
- Limitare l’accesso per indirizzo IP con il flag
--client-whitelist
. - Limitare il numero di client con il flag
--max-clients
. - Impostare timeout di connessione inattiva con il flag
--read-timeout
. - Per esporre il server su NAT, è possibile utilizzare tunnel TCP di ngrok o un tunnel SSH inverso a un host con IP pubblico.
Sicurezza
- Per assicurare la connessione usando TLS, si possono usare terminatori TLS configurati con autenticazione TLS reciproca, notando che il terminatore desiderato deve supportare la “wrapping” di connessioni TCP semplici a TLS con certificato client.
Changelog
2d65e34
Quasi separazione dal stato e ‘interno’.a709224
Evitamento della lettura diretta dei file.f4c17b2
Chiusura corretta del descrittore di directory durante la scansione.9c54191
Gestione del comandoCmdReadDirEntryV2
.ee329e2
Implementato comandoCmdReadCD2048Critical
.82b17d1
Miglioramento nella gestione dei tempi dei filed8d92a5
Ascolto solo su IPv4 per impostazione predefinita e registrazione degli indirizzi adatti.0bf2d8d
Unita la richiesta di pull #18 da xakep666/go123.fe6141f
Unita la richiesta di pull #19 da xakep666/go123.2c28b00
Refactoring dell’encoder ISO.8484c8b
Aggiornamento della versione di Go a 1.23.f38a54a
Semplificazione e ottimizzazione di alcune funzioni.f4e1035
Aggiornamento del README con informazioni sulla nuova versione del compilatore e suggerimenti per le prestazioni.
Download: ps3netsrv-go v0.0.7 Linux arm64 (i386) (x86_64)
Download: ps3netsrv-go v0.0.7 MacOS arm64 (x86_64)
Download: ps3netsrv-go v0.0.7 Windows arm64 (i386) (x86_64)
Download: Source code ps3netsrv-go v0.0.7
Fonte: twitter.com