프로젝트 소개

Neqo는 Rust로 작성되어 Firefox 및 기타 Mozilla 제품에서 사용되는 Mozilla의 QUIC 전송 프로토콜, HTTP/3, QPACK 구현체입니다. TLS 보안 백엔드로 Mozilla NSS를 사용합니다. 이 프로젝트는 임베딩에 적합한 라이브러리와 함께 HTTP/3 클라이언트 및 서버를 테스트하고 디버깅하기 위한 neqo-client, neqo-server 같은 명령줄 도구를 제공합니다. 서버 기능은 명시적으로 실험적이며 프로덕션 사용을 위한 것이 아닙니다. 클라이언트 측보다 성숙도가 낮고 일부 선택적 프로토콜 기능과 배포 지향 구성이 부족합니다. 클라이언트 구현은 Firefox에서 사용하는 프로덕션 경로입니다. Neqo에는 여러 디버깅 및 관측 기능이 포함되어 있습니다. qvis 같은 도구로 QUIC 흐름을 시각화하기 위한 QLOG 파일을 생성할 수 있고, Wireshark에서 복호화를 위해 SSLKEYLOGFILE을 통해 TLS 키를 내보낼 수 있으며, RUST_LOG 환경 변수를 사용하여 전송 및 HTTP/3 모듈 전반에 걸쳐 선택적 로깅을 할 수 있습니다. README는 또한 Cargo patch 항목을 사용하여 개발 중인 Neqo 코드를 Gecko 체크아웃에 통합하는 방법과 로컬 Firefox 인스턴스를 로컬 neqo-server에 연결하여 테스트하는 방법을 문서화합니다. 이 프로젝트는 시맨틱 버전 관리를 따르며, 버전 1.0 미만에서는 마이너 릴리스가 호환성을 깨는 변경을 의미합니다. 자세한 릴리스 절차는 Firefox 의존성 업데이트, Rust 크레이트 벤더링, Bugzilla 및 Phabricator 변경 제출을 포함하여 마이너 및 패치 릴리스 모두를 다룹니다.