À propos du projet

Neqo est l'implémentation par Mozilla du protocole de transport QUIC, de HTTP/3 et de QPACK, écrite en Rust et utilisée dans Firefox et d'autres produits Mozilla. Il utilise Mozilla NSS comme backend de sécurité TLS. Le projet fournit une bibliothèque adaptée à l'intégration, ainsi que des outils en ligne de commande tels que neqo-client et neqo-server pour tester et déboguer des clients et serveurs HTTP/3. La fonctionnalité serveur est explicitement expérimentale et non destinée à un usage en production ; elle est moins mature que le côté client et ne dispose pas de certaines fonctionnalités optionnelles du protocole ni d'une configuration orientée déploiement. L'implémentation client est la voie de production utilisée par Firefox. Neqo inclut plusieurs fonctionnalités de débogage et d'observabilité. Il peut générer des fichiers QLOG pour visualiser les flux QUIC avec des outils comme qvis, exporter les clés TLS via SSLKEYLOGFILE pour le déchiffrement dans Wireshark, et utiliser les variables d'environnement RUST_LOG pour une journalisation sélective à travers les modules de transport et HTTP/3. Le README documente également comment intégrer du code Neqo en cours de développement dans un checkout Gecko à l'aide d'entrées de patch Cargo, et comment connecter une instance locale de Firefox à un neqo-server local pour les tests. Le projet suit le versionnage sémantique, les versions mineures signalant des changements incompatibles tant que la version reste inférieure à 1.0. Les procédures de publication détaillées couvrent à la fois les versions mineures et les correctifs, notamment la mise à jour des dépendances de Firefox, le vendoring des crates Rust, et le dépôt des modifications dans Bugzilla et Phabricator.