Home Homebrew ftpsrv si aggiorna: gestione file avanzata e copia server-side su console PlayStation...

ftpsrv si aggiorna: gestione file avanzata e copia server-side su console PlayStation 4 e PlayStation 5

146
0

Il developer Drakmor prosegue con grande costanza lo sviluppo di ftpsrv, il payload FTP per console PlayStation 4 e PlayStation 5, nato come fork del progetto originale di John Tornblom e ormai diventato un riferimento solido per chi utilizza console jailbroken.

Questo server FTP, pensato per essere eseguito su PS4 e PS5 tramite ELF loader, ascolta sulla porta 2121 e si distingue per stabilità, compatibilità con i client più diffusi e per una serie di estensioni avanzate che vanno ben oltre le funzionalità FTP tradizionali.

Con l’ultimo aggiornamento, ftpsrv compie un deciso passo in avanti sul fronte della gestione dei file direttamente lato console introducendo la copia asincrona server-side tramite i comandi CPFR, CPTO e COPY, permettendo di duplicare file e cartelle senza che i dati debbano passare dal PC.

Questo approccio riduce tempi, traffico di rete e carico sul client, rendendo le operazioni molto più efficienti, soprattutto con grandi quantità di dati.

Accanto a questo, arrivano nuove funzioni per il calcolo ricorsivo delle dimensioni delle directory e per l’eliminazione completa di alberi di cartelle, strumenti fondamentali per una gestione più consapevole dello spazio.

Proprio sul tema dello storage, l’aggiornamento introduce anche comandi dedicati al monitoraggio dello spazio libero e delle quote, consentendo di verificare in modo preciso la disponibilità su disco e l’utilizzo complessivo.

Non manca un miglioramento generale del supporto ai comandi FEAT e MLST, con una gestione più corretta delle liste e dei trasferimenti dati, oltre all’aggiunta delle informazioni di versione e build direttamente nel banner FTP, utili per identificare rapidamente la release in uso.

ftpsrv continua a supportare una serie di comandi personalizzati pensati specificamente per PS4 e PS5, utilizzabili senza il prefisso SITE.

Tra questi spiccano la possibilità di terminare il server FTP al volo, rimontare le partizioni di sistema con permessi di scrittura e gestire in tempo reale la decrittazione dei file SELF in ELF, una funzione particolarmente apprezzata dagli sviluppatori e dagli utenti più avanzati.

Sono inoltre disponibili opzioni per il controllo della verifica dei digest SELF e per la gestione avanzata dei permessi, della umask e dei collegamenti simbolici.

Molti client FTP, come WinSCP, possono essere configurati per sfruttare questi comandi estesi e trasformare ftpsrv in un vero e proprio file manager remoto, capace di operare in modo diretto sul file system della console.

Il payload è stato testato con successo con software diffusi come gFTP, FileZilla, curl e Thunar, garantendo un’elevata compatibilità su diversi sistemi operativi.

Caratteristiche

  • KILL – Termina il server FTP.
  • MTRW – Rimonta /system e /system_ex con permessi di scrittura.
  • SELF – Abilita o disabilita la decrittazione SELF in ELF in tempo reale (abilitata di default).
  • SCHK – Abilita o disabilita la verifica del digest dei file SELF.

Nota: Il comando SELF opera su singole connessioni; ad esempio: john@localhost:ftpsrv$ curl -o libkernel.sprx -Q SELF ftp://ps5:2121/system/common/lib/libkernel.sprx

Comandi aggiuntivi

Questi comandi sono implementati ma non erano stati documentati in precedenza:

  • DSIZ – Riporta la dimensione ricorsiva di una directory (restituisce errore se il percorso indica un file).
  • RMDA – Elimina un intero albero di directory (alias: SITE RMDIR).
  • AVBL – Mostra lo spazio disponibile in byte per il percorso specificato.
  • XQUOTA – Riporta il numero di file e i limiti, oltre all’utilizzo e ai limiti del disco.
  • SITE CHMOD – Modifica i permessi dei file o delle directory.
  • SITE UMASK [mode] – Visualizza o imposta la maschera di creazione dei file.
  • SITE SYMLINK – Crea un collegamento simbolico.
  • SITE CPFR / SITE CPTO – Copia lato server (asincrona).
  • SITE COPY – Copia lato server (asincrona).

Nota: I comandi di copia restituiscono immediatamente il messaggio “250 Copy started in background”; eventuali errori durante la copia in background non vengono segnalati al client.

Alcuni client (ad esempio WinSCP) possono essere configurati per utilizzare questi comandi aggiuntivi nelle operazioni di gestione dei file.

Problemi noti: Alcuni firmware PS5 con versione inferiore alla 4 presentano un bug del kernel per cui la lettura di alcuni file SELF può causare il blocco della syscall di lettura.

Segnalazione di Bug

  • Se si riscontrano problemi con ftpsrv, è possibile segnalarli su GitHub. Qualora si intenda inviare una pull request che modifica più di poche righe di codice, è preferibile aprire prima una issue per discutere la soluzione, così da definire correttamente l’approccio prima di investire tempo ed energie nello sviluppo.

Changelog

  • Aggiunto: Copia asincrona lato server: comandi SITE CPFR, SITE CPTO e SITE COPY.
  • Aggiunto: Calcolo ricorsivo della dimensione delle directory con DSIZ e cancellazione ricorsiva con RMDA (alias: SITE RMDIR).
  • Aggiunto: Segnalazione dello spazio libero: comandi AVBL e XQUOTA.
  • Aggiunto: Nuovi comandi SITE UMASK e SITE SYMLINK; correzione del comando SITE CHMOD.
  • Aggiunto: Supporto ampliato ai comandi FEAT/MLST e migliorato il comportamento di liste e trasferimento dati.
  • Aggiunto: Informazioni su versione e build visualizzate direttamente nel banner FTP.

Alcuni client (ad esempio WinSCP) possono essere configurati per utilizzare questi comandi aggiuntivi nelle operazioni di gestione dei file.

Download: ftpsrv v1.15-ng-beta8 (PS4)

Download: ftpsrv v1.15-ng-beta8 (PS5)

Download: Source code ftpsrv v1.15-ng-beta8