La nuova versione 1.2.2 di zftpd rappresenta uno degli aggiornamenti più significativi dall’introduzione del progetto. Si tratta di un rilascio fortemente incentrato su cambiamenti strutturali interni e miglioramenti architetturali che puntano a rendere il server FTP ancora più stabile, sicuro ed efficiente.

L’aggiornamento è caldamente consigliato, perché interviene in profondità sul comportamento della rete e sulla gestione dell’I/O, introducendo ottimizzazioni che incidono direttamente sulla qualità dei trasferimenti dati.
🚀 zftpd v1.2.2 is officially out!
This release brings major internal changes and structural improvements, Updating is recommended!
Read the full changelog for all the under-the-hood details 👇
🔗https://t.co/EXV8y8Cmo1#zftpd #ftp #ps4 #ps5 #opensource #release— Seregon (@SeregonWar) February 21, 2026
Il cuore di questa release è una revisione sostanziale del sistema di trasferimento. Il vecchio limitatore di banda per sessione basato su token-bucket è stato rimosso e sostituito da una gestione più moderna del flusso dati tramite socket corking applicato ai cicli di sendfile e read.
Questa scelta consente un controllo più fine sull’invio dei pacchetti, riducendo frammentazioni e migliorando la coerenza delle velocità di trasferimento.
Implementata inoltre una chiusura più elegante dei data socket, così da evitare i fastidiosi reset di connessione (RST) che in passato potevano interrompere bruscamente un trasferimento.
Particolare attenzione è stata dedicata all’affidabilità delle operazioni FTP più critiche, come RETR, STOR e APPE. Ora il sistema effettua flush espliciti con fsync e fornisce report di errore più dettagliati, aumentando la trasparenza e la sicurezza durante le operazioni di lettura e scrittura.
Anche sul fronte sicurezza sono stati compiuti passi avanti, con un rafforzamento della formattazione dei token CSRF nel modulo HTTP, prevenendo potenziali buffer overrun.
Un capitolo importante riguarda le ottimizzazioni specifiche per console, in particolare per PlayStation 4 e PlayStation 5.
In questo ambito sono stati aumentati buffer e dimensioni degli stream per migliorare il throughput, sono stati introdotti timeout I/O dedicati e impostazioni di linger più appropriate, e su PS5 è stato disabilitato il rate limiting per massimizzare la velocità di trasferimento.
Inoltre, la gestione dell’I/O su console è stata resa molto più robusta grazie all’uso di F_NOCACHE e posix_fadvise, tecniche che ottimizzano l’accesso ai file riducendo l’impatto della cache di sistema.
Anche il livello di astrazione della piattaforma, il cosiddetto PAL, ha ricevuto un aggiornamento importante. Sono state introdotte nuove primitive di rete per configurare in modo più sicuro e flessibile i socket dati, inclusi strumenti per corking, gestione dei timeout e drenaggio dei buffer.
I file pal_network.h e pal_network.c sono stati aggiornati per migliorare configurabilità e telemetria, rendendo l’infrastruttura interna più solida e pronta a future evoluzioni.
Infine, non mancano interventi di manutenzione e build system: sono stati corretti piccoli problemi nel Makefile per garantire la creazione corretta delle directory di compilazione, aggiunta documentazione interna sulle API e rifinite configurazioni di build e file .gitignore.
Il risultato complessivo è un server FTP più maturo, stabile e performante, capace di offrire connessioni più sicure e velocità più costanti, soprattutto in ambito console.
Caratteristiche principali
- Percorso dati zero-copy dove disponibile (fast path con
sendfile; fallback su I/O bufferizzato quando attiva la cifratura). - I/O TCP robusto (gestione invii parziali, EINTR e buffer di invio consapevoli della backpressure).
- Timeout per canali di controllo e dati + timeout di inattività della sessione.
- Hardening dei percorsi (canonicalizzazione, blocco del traversal, safe-list opzionale per
/dev,/proc,/sys). - Logging strutturato per sessione + statistiche (byte/file inviati e ricevuti).
- Limitazione della velocità di trasferimento (token bucket, attivabile/disattivabile a compile-time).
- Ripresa upload tramite
REST+STOR; upload in append tramite APPE. - Cifratura opzionale ChaCha20 (
AUTH XCRYPT) con chiave precondivisa (PSK). - Notifiche a schermo su PS4/PS5 (IP/porta e stato).
- File explorer web ZHTTP opzionale (a compile-time, abilitato di default su PS4/PS5).
Comandi supportati
- Autenticazione e controllo:
USER,PASS,QUIT,NOOP. - Navigazione:
CWD,CDUP,PWD. - Elenco file:
LIST,NLST,MLSD,MLST(MLSTminimale). - Trasferimento:
RETR,STOR,APPE,REST. - Gestione file:
DELE,RMD,MKD,RNFR,RNTO. - Connessione dati:
PORT,PASV. - Informazioni:
SIZE,MDTM,STAT,SYST,FEAT,HELP. - Parametri di trasferimento:
TYPE,MODE,STRU. - Cifratura (opzionale):
AUTH XCRYPT(ChaCha20 con chiave precondivisa PSK).
Esecuzione (Daemon) per Piattaforma
Linux
./build/linux/release/zftpd-linux--v<version>.elf
Opzioni utili (solo POSIX): -p <porta> e -d <directory_root>.
macOS
./build/macos/release/zftpd-macos-<arch>-v<version>
PS4
Richiede un payload loader (ad esempio WebKit/PPPwn/Netcat/GoldHEN). zftpd non richiede un HEN residente, ma deve essere avviato tramite loader/exploit.
- Se il loader richiede un payload
.bin: inviarebuild/ps4/release/zftpd-ps4-v<version>.bin. - Se il loader accetta ELF: è possibile scegliere tra
build/ps4/release/zftpd-ps4-v<version>.binebuild/ps4/release/zftpd-ps4-v<version>.elf.
All’avvio viene mostrata una notifica con l’indirizzo IP e la porta.
PS5
Richiede un payload loader (etaHEN/Netcat o equivalente).
- Se il loader richiede un payload
.bin: inviarebuild/ps5/release/zftpd-ps5-v<version>.bin. - Se il loader accetta ELF: è possibile scegliere tra
build/ps5/release/zftpd-ps5-v<version>.binebuild/ps5/release/zftpd-ps5-v<version>.elf.
All’avvio viene mostrata una notifica “started” insieme a FTP: <ip>:<port>.
Configurazione
La configurazione in fase di compilazione si trova in ftp_config.h. Macro utili:
-
FTP_DEFAULT_PORT(PS4/PS5 predefinita 2122, POSIX predefinita 2121)FTP_MAX_SESSIONSFTP_SESSION_TIMEOUTFTP_TRANSFER_RATE_LIMIT_BPS/FTP_TRANSFER_RATE_BURST_BYTESFTP_LOG_COMMANDS
Note
Se su PS4/PS5 compare il messaggio “payload already loaded”, significa che un’istanza è già attiva (deduplicazione). Il nuovo daemon tenterà di terminare la vecchia istanza e avviarne una nuova sulla porta FTP_DEFAULT_PORT:2122.
Se non riesce, proverà con la porta successiva (FTP_DEFAULT_PORT+1:2123) fino a un massimo di 9 porte consecutive.
Per test su host: make TARGET=linux test oppure make TARGET=macos test.
ZHTTP (Web File Explorer)
- Cos’è: Interfaccia web leggera per navigare, scaricare e (opzionalmente) caricare file direttamente dal browser.
- Abilitazione/disabilitazione: Attivo di default su PS4/PS5. Disattivato di default sulle altre piattaforme. È possibile forzare l’attivazione con
ENABLE_ZHTTPD=1oppure disattivarlo conENABLE_ZHTTPD=0in fase di build (esempio:make TARGET=ps5 ENABLE_ZHTTPD=0). - Impatto sulla build: Aggiunge i moduli HTTP (
event_loop_kqueue,http_server,http_parser,http_response,http_api,http_csrf,http_resources). - Utilizzo: Dopo aver avviato il daemon, aprire
http://<ip>:<port>/(la porta coincide con quella FTP configurata). Viene mostrato un file explorer con breadcrumb, download diretto e — se compilato conENABLE_WEB_UPLOAD=1(abilitato insieme a ZHTTP) — un pulsante per l’upload. - Sicurezza: Pensato per scenari LAN/payload; non prevede autenticazione aggiuntiva oltre al contesto della rete locale. Mantenere la porta chiusa su WAN.
Changelog
La versione 1.2.2 introduce miglioramenti significativi alla robustezza dei trasferimenti dati e alle prestazioni complessive della rete.
Questa release si concentra fortemente sull’ottimizzazione dell’I/O su file e sul comportamento dei socket, in particolare per le piattaforme PS4 e PS5, garantendo maggiore stabilità, connessioni più sicure e velocità di trasferimento più costanti.
Cambiamenti fondamentali
Ottimizzazioni Rete & Trasferimenti
- Sostituito il vecchio limitatore di banda per sessione basato su token-bucket con il socket corking attorno ai cicli
sendfile/read. - Implementata una chiusura elegante del data-socket per evitare reset di connessione (RST).
- Aggiunti flush
fsynce report di errore più dettagliati per i comandiRETR,STOReAPPE. - Rafforzata la formattazione dei token
CSRFHTTP per prevenire buffer overrun.
Specifiche per Piattaforma (PS4 / PS5 / Console)
- Aumentate le dimensioni predefinite di buffer e stream per migliorare il throughput.
- Aggiunti timeout I/O specifici per i dati e impostazioni linger per PS4, PS5 e altre piattaforme.
- Disabilitato il rate limiting dei trasferimenti su PS5 per massimizzare la velocità.
- Reso l’I/O su file significativamente più robusto su console tramite
F_NOCACHEeposix_fadvise.
Aggiornamenti PAL (Platform Abstraction Layer)
- Introdotte nuove primitive di rete PAL (ad esempio
pal_socket_configure_data,cork/uncork, gestione timeout e funzioni didrain). - Aggiornati
pal_network.hepal_network.cper un comportamento dei socket più sicuro, configurabile e con migliore telemetria.
Build & Manutenzione
- Corretti piccoli problemi nel
Makefileper garantire la corretta creazione delle directory di build. - Aggiunta documentazione interna delle API e aggiornate configurazioni di build e file
.gitignore.
Ringraziamenti
- Un ringraziamento a tutti i tester che hanno contribuito a raggiungere un livello così elevato di stabilità e velocità costante. Senza il loro supporto, zftpd non avrebbe ottenuto questi risultati in così poco tempo.
Download zftpd v1.2.2
Linux (Debian)
- zftpd-debian.elf
SHA256: d627dabf1a2f950f21a3991a74f556291b2947f0b8283d63e19ad94178654550
macOS (Apple Silicon / arm64)
- zftpd-macos-arm64
SHA256: e46c0c4b468889ab22348719d6e68f6b38a6c7e4ccf4110f90f38941c98bfa2b
PS4
- zftpd-ps4-v1.2.2.bin (Payload binario)
SHA256: 8a0c305140865ad785bb5cb5320b760e2067ae6f159cff43bc359c6c003cfec4 - zftpd-ps4-v1.2.2.elf (Formato ELF)
SHA256: 897cc42521dd8f3c1eb0219891ea7d83b8aa6c162f8450b351d1b460eb7eb44e
PS5
- zftpd-ps5-v1.2.2.bin (Payload binario)
SHA256: 87e90cd9d12090315cd9126e0c2f15d4a98f7360f5f40921703b562cd595cee1 - zftpd-ps5-v1.2.2.elf (Formato ELF)
SHA256: b75436d8c19536fb19f2f77cd3c10861f6865c9a5e0eec91c929896c09fa1df7
Codice Sorgente
- Source code (ZIP)
Archivio contenente il codice completo del progetto aggiornato alla versione 1.2.2.
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: PS4
Vedi altri prodotti PS4
Ultimo aggiornamento 2026-06-10 / Link di affiliazione / Immagini da Amazon Product Advertising API


![[Scena PS5] Rilasciato Y2JB v1.6: Supporto firmware 13.40, validazione payload, elfldr aggiornato e backup dedicati senza PSN](https://www.biteyourconsole.net/wp-content/uploads/RemoteJSLoader-238x178.webp)


![[Scena PS5] Rilasciato Y2JB v1.6: Supporto firmware 13.40, validazione payload, elfldr aggiornato e backup dedicati senza PSN](https://www.biteyourconsole.net/wp-content/uploads/RemoteJSLoader-100x75.webp)