Home Homebrew Rilasciato ftpsrv v1.2.2: Un server FTP leggero e multipiattaforma per console Nintendo

Rilasciato ftpsrv v1.2.2: Un server FTP leggero e multipiattaforma per console Nintendo

196
0

Pubblicato un nuovo aggiornamento per ftpsrv, il server FTP leggero, veloce e single-threaded scritto in linguaggio C dal developer ITotalJustice, compatibile con diverse console, tra cui Nintendo Wii, 3DS, DS e Switch.

Questo progetto è stato sviluppato per imparare il protocollo FTP e implementa un server con basso utilizzo di memoria, nessuna allocazione dinamica e overhead ridotto grazie all’uso di funzioni come poll() o, in assenza di questa, select().

Il server FTP è configurabile, con un file di configurazione situato in /config/ftpsrv/config.ini. Ogni release include un template per evitare di sovrascrivere le configurazioni esistenti durante gli aggiornamenti.

Sulla Nintendo Switch, per motivi di sicurezza, è obbligatorio impostare un nome utente e una password, a meno che non venga abilitata l’opzione anonima (anon=1).

Questo è particolarmente importante se usato con ldn-mitm, che potrebbe altrimenti permettere modifiche non autorizzate alla scheda SD.

Tra i miglioramenti principali introdotti in questa nuova versione, è stata corretta la gestione del comando MDTM, fondamentale per impostare correttamente data e ora di un file remoto, e risolto un errore ortografico nella funzione localtime.

Inoltre, sono stati risolti problemi legati alla copia degli asset specifici della Wii e alla compilazione del server per questa console utilizzando la libreria libogc2, garantendo una maggiore compatibilità e stabilità.

Piattaforme supportate

Il server è stato portato sulle seguenti piattaforme:

  • Nintendo Switch: Sia come applicazione che come sys-module.
  • Nintendo Wii.
  • Nintendo 3DS: Necessita di ottimizzazioni, poiché utilizza attualmente I/O POSIX con overhead.
  • Nintendo DS: La build risolve un problema con dswifi e il supporto WPS, che non è attualmente supportato ufficialmente da devkitPro.

Pianificato anche un porting per console PlayStation 4, ma richiede ulteriori competenze nella creazione di servizi in background (daemon).

Problematiche note e workaround

  1. Bug con Dolphin (KDE): Un problema specifico con il comando LIST e file .jpg/.png in directory. Il workaround consiste nel non inviare il pathname nella risposta del comando LIST.
  2. Compatibilità con ffmpeg/mpv: I client come ffmpeg utilizzano il comando ABOR durante i trasferimenti, causando blocchi. La soluzione implementata separa i comandi e gli argomenti utilizzando il delimitatore \r\n.

Comandi supportati senza autenticazione

Sono supportati comandi FTP standard come USER, PASS, QUIT, ABOR e HELP. Tuttavia, il comando PWD, secondo l’RFC959, dovrebbe essere disponibile senza autenticazione, ma in questa implementazione richiede l’autenticazione e restituisce un errore 530 se non soddisfatta.

Funzionalità future

Tra le funzionalità in programma vi sono il supporto per TLS, l’aggiunta di comandi FTP avanzati come ACCT, STOU e SITE, oltre alla validazione della sequenza di comandi come RNTO dopo RNFR.

Changelog

  • Risolto un problema nella gestione del comando MDTM, utilizzato per impostare la data e l’ora di un file remoto.
  • Corretto un errore ortografico nella funzione localtime.
  • Sistemati i problemi relativi alla copia degli asset specifici per la console Nintendo Wii.
  • Risolto un bug nella compilazione del server sulla console Wii utilizzando la libreria libogc2.

Download: ftpsrv v1.2.2 (3DS)

Download: ftpsrv v1.2.2 (NDS)

Download: ftpsrv v1.2.2 (Wii)

Download: ftpsrv v1.2.2 (Switch app) (Switch sysmodule)

Download: Source code ftpsrv v1.2.2

Fonte: gbatemp.net

Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale.

🔥 Prodotti in promozione e articoli più venduti: Nintendo Switch

Vedi altri prodotti Nintendo Switch

Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui
Captcha verification failed!
Punteggio utente captcha non riuscito. Ci contatti per favore!

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.