Home Homebrew ftpsrv cresce ancora: Drakmor rifinisce la Beta 6 con fix cruciali e...

ftpsrv cresce ancora: Drakmor rifinisce la Beta 6 con fix cruciali e miglioramenti strutturali

80
0

Il developer Drakmor continua a portare avanti 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.

Nel giro di pochi giorni il software ha raggiunto la sesta versione beta, seguita immediatamente da un fix correttivo, un chiaro segnale di quanto lo sviluppo sia guidato dall’attenzione ai dettagli e dai feedback della community.

Le versioni precedenti hanno gettato basi sempre più solide. La quarta beta si era concentrata principalmente su correzioni minori e sulla disattivazione definitiva della modalità ASCII, una scelta tecnica importante per migliorare l’affidabilità dei trasferimenti ed evitare problemi di compatibilità o dati corrotti.

Con la quinta beta sono arrivate ottimizzazioni più sostanziali, in particolare un netto incremento delle prestazioni nella visualizzazione delle directory e nel download di file di piccole dimensioni, soprattutto quando la decrittazione dei file SELF è attiva.

In quella fase è stata anche introdotta una limitazione consapevole della decrittazione automatica a specifiche estensioni, come .bin, .elf, .sprx, .prx e .self, per ridurre il rischio di comportamenti imprevisti.

La sesta beta ha segnato un vero salto di qualità rispetto agli aggiornamenti precedenti. Il codice è stato parzialmente riorganizzato attraverso un refactoring dei comandi LIST, MLSD e NLSD, con l’obiettivo di rendere più coerenti le risposte del server e più affidabile la gestione delle directory.

Sono stati inoltre corretti il comportamento del comando APPE nella creazione di nuovi file, il collegamento XCUP e diversi codici di risposta del server.

Un aspetto particolarmente utile per sviluppatori e utenti avanzati è l’introduzione di un codice di errore specifico quando i file SELF non possono essere aperti, che rende le operazioni di debug molto più chiare ed efficaci.

A chiudere il ciclo è arrivato il fix dedicato alla sesta beta, necessario per risolvere un bug introdotto proprio in quella versione che causava problemi nella rinomina di file e cartelle.

Si tratta di un intervento mirato, ma fondamentale, perché la gestione corretta dei nomi e della struttura dei file è uno degli elementi centrali di qualsiasi server FTP, soprattutto in ambito homebrew.

Caratteristiche

Il software client testato include gFTP, Filezilla, curl e Thunar. Inoltre, il payload supporta alcuni comandi SITE personalizzati specifici per PS4 e PS5 (eseguiti senza il prefisso SITE). In particolare:

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

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

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 beta4

  • Disabilitata la modalità ASCII #2 (correzione del testo).

Changelog beta5

  • Migliorata la velocità di visualizzazione delle directory (quando la decrittazione dei SELF è attiva) e il download dei file di piccole dimensioni.
  • Solo i file con estensione .bin, .elf, .sprx, .prx e .self possono essere decrittati.

Changelog beta6

  • Refactoring dei comandi LIST, MLSD e NLSD.
  • Corretto il comportamento del comando APPE nella creazione di nuovi file.
  • Correzione del collegamento XCUP.
  • Correzione dei codici di risposta.
  • Aggiunto un codice di errore quando i file SELF non possono essere aperti.
  • Aumentato il timeout per il canale DATA.
  • Rimosso lo stub di append \0 per la trasmissione in modalità ASCII.

Changelog beta6 fix 1

  • Risolto il problema di rinominazione di file/directory (bug aggiunto nella versione beta 6).

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

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

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