TailTalk: A modern async user space AppleTalk stack with Rust and Tokio
Ce projet est présenté comme une boîte à outils permettant d'implémenter entièrement AppleTalk en espace utilisateur sur Linux, macOS et Windows via EtherTalk ou LocalTalk, sans dépendances kernel ni Netatalk, en n'exigeant qu'un socket brut et/ou un appareil TashTalk. Il fournit une pile AppleTalk complète (AARP, DDP, NBP, ATP, PAP, ASP, AFP et AppleTalk Data Stream Protocol) pouvant exécuter plusieurs instances simultanées et proposant un démon partagé, tailtalkd, pour gérer interfaces, sockets DDP, adressage et routage. L'interface graphique inclut un serveur AFP compatible avec la plupart des Macs équipés de LocalTalk, permet d'importer des archives Stuff-It et des images de disquette en préservant les forks de ressources, et peut exposer des imprimantes LocalTalk comme AirPrint/IPP ou partager des imprimantes modernes vers des Macs classiques. La compilation nécessite Rust 1.90+, cargo-packager et des étapes spécifiques par plateforme (libpcap/npcap pour EtherTalk, règles udev ou pilotes CP210x pour TashTalk USB, ChmodBPF sur macOS), et l'utilisation de sockets bruts ou de BPF impose généralement d'exécuter les binaires en root ou d'appliquer des capacités appropriées. Le projet est un prototype en cours, fonctionne actuellement dans des réseaux sans routeur, a été testé avec du matériel Mac et des imprimantes vintage, accepte les contributions après ouverture d'une issue et est distribué sous licence GNU GPL v3.