Le développeur seregonwar vient de publier une mise à jour majeure de zFTPd, qui passe en version 1.6.0. Loin d'être une simple évolution corrective, cette nouvelle mouture apporte une refonte importante du projet avec une nouvelle architecture de transfert, un support élargi des environnements PS4 et PS5, une interface ZHTTP entièrement revue et de nouvelles fonctions dédiées à la gestion des jeux.
Entre la version 1.5.0 et cette v1.6.0, pas moins de 40 changements ont été intégrés et plus de 200 fichiers ont été modifiés.

Un nouveau moteur de transferts
L'un des changements les plus importants concerne le système de transfert. zFTPd abandonne son ancienne pile de téléchargement personnalisée au profit d'un gestionnaire de transferts unifié.
La nouvelle architecture permet notamment :
- les téléchargements HTTP et HTTPS via libcurl
- les téléchargements FTP et FTPS
- le téléchargement depuis des sources nfs:// sur les builds PS5 compatibles
- la prise en charge de BitTorrent et des liens magnet
- la gestion simultanée de plusieurs transferts
- la mise en file d'attente des téléchargements
- la conservation de l'état des transferts
- la reprise des téléchargements interrompus
- l'affichage de la progression et du statut via l'API HTTP.
Lorsqu'un téléchargement est en cours, zFTPd utilise désormais des fichiers ou répertoires .zftpd.part, qui ne sont considérés comme terminés qu'une fois le transfert finalisé. Le développeur a également corrigé un problème pouvant provoquer l'arrêt du processus lors de l'interruption d'un téléchargement distant à cause de SIGPIPE.

Un serveur FTP entièrement réorganisé
Le serveur FTP a lui aussi subi une importante restructuration interne. Les différentes commandes sont désormais séparées en modules dédiés au contrôle, aux listings, au système de fichiers, aux transferts, aux extensions et aux connexions de données.
Cette réorganisation s'accompagne de plusieurs améliorations :
- gestion des différentes instances FTP
- amélioration de la gestion des chemins
- amélioration des opérations de copie et de déplacement côté serveur
- pipeline de lecture parallèle plus profond pour les copies ;
- correction de la commande CHMOD pour les fichiers et répertoires ;
- correction de LIST -a, notamment pour la compatibilité avec curlftpfs
ZHTTP fait peau neuve
L'interface ZHTTP, accessible depuis un navigateur, a été entièrement repensée. Le frontend est maintenant organisé autour de plusieurs sections consacrées notamment aux fichiers, transferts, jeux, tâches, contrôles système et paramètres. Le serveur HTTP a également été découpé en différents composants afin de mieux gérer le streaming des réponses, les uploads, le JSON et le routage.
Parmi les nouvelles possibilités, on retrouve une nouvelle API HTTP avec notamment :
/api/notify pour envoyer des notifications système personnalisées sur PS4 et PS5 ;
génération de fichiers ZIP à la volée ;
extraction d'archives via l'API ;
téléchargement optionnel de fichiers SELF protégés sous forme décryptée ;
nouvelles commandes de contrôle du système et de la plateforme.
La génération des archives ZIP peut désormais être effectuée directement en streaming vers le client, sans devoir créer préalablement l'intégralité de l'archive sur le stockage de la console.

Gestion des jeux intégrée
zFTPd v1.6.0 franchit également un cap avec l'intégration de nouvelles fonctions de gestion des jeux.
Le serveur peut désormais gérer un catalogue de jeux et propose :
- le lancement des jeux
- l'installation de packages
- la réparation de app.db
- le dump décrypté de jeux avec indication de progression
- l'annulation des opérations de dump
- la détection des titres PS5 via appmeta/param.json
- la correction de la détection des installations utilisant un seul app.pkg
La prise en charge de l'installation de packages peut par ailleurs être totalement exclue lors de la compilation si cette fonctionnalité n'est pas nécessaire.
Support PS4 et PS5 étendu
Cette version intéressera particulièrement les utilisateurs de la scène PlayStation puisque zFTPd centralise désormais les offsets kernel spécifiques aux différents firmwares PS5.
La table des firmwares PS5 est notamment étendue jusqu'au firmware 13.60.
Le projet ajoute également plusieurs abstractions spécifiques à la plateforme concernant les opérations disque, les volumes, le filtrage DNS et la gestion des instances.
Côté PS4, l'ancien système natif de téléchargement HTTP/TLS a été remplacé par le nouveau backend basé sur libcurl. L'intégration de PacBrew PS4 portlib permet également les téléchargements HTTPS.
Le développeur ajoute par ailleurs un bundle de certificats CA intégré tout en conservant la vérification des certificats TLS.
La v1.6.0 apporte aussi la prise en charge des payloads PS4 PIE ainsi qu'une amélioration générale de la gestion des dépendances PS4 et PS5.
Une meilleure gestion du Rest Mode
zFTPd gagne également en robustesse lors des changements d'état de la console.
La version 1.6.0 introduit notamment :
une récupération du listener après le Rest Mode
un suivi des instances daemon pour détecter les connexions devenues obsolètes après une reprise
une meilleure récupération après les changements d'état réseau
une validation renforcée des PID et de l'API HTTP
une amélioration de la gestion des erreurs lors des transferts et opérations fichiers
Une refonte profonde du projet
Au-delà des nouvelles fonctions visibles, cette release constitue surtout une importante restructuration du code.
Le précédent fonctionnement monolithique a été découpé en différents modules consacrés notamment au FTP, HTTP, archives, système de fichiers, transferts, dumps et gestion des jeux.
Le système d'accès aux fichiers est désormais partagé entre FTP et HTTP, tandis que les opérations de copie, d'arborescence et de transfert ont été séparées.
Le système de build a également été revu avec une meilleure gestion des fonctionnalités optionnelles, notamment ZHTTP, l'installation de packages, curl, NFS et BitTorrent.
La CI GitHub Actions bénéficie elle aussi d'améliorations, avec notamment l'intégration de la configuration et des dépendances PS4.
Une mise à jour particulièrement importante
Avec zFTPd v1.6.0, seregonwar transforme donc progressivement son projet en une véritable plateforme de gestion et de transfert pour les consoles PlayStation.
Le support du firmware PS5 13.60, les téléchargements HTTPS, FTP/FTPS, NFS, BitTorrent et magnet, la reprise des transferts, le dump décrypté, l'installation de packages et la nouvelle interface Web constituent les principales nouveautés visibles.
Mais c'est surtout la refonte de l'architecture interne qui marque cette version, avec un code désormais beaucoup plus modulaire et une base permettant d'ajouter plus facilement de nouvelles fonctionnalités.
Téléchargement : zFTPd v1.6.0



Mon contenu
Homme






