quic-parser 0.1.5

Zero-copy QUIC Initial packet parser with optional payload decryption.
Documentation

Quic Parser

Zero-copy QUIC Initial packet parser with optional payload decryption.

quic-parser extracts headers, connection IDs, and tokens from QUIC Initial packets without allocating. When a crypto backend is enabled, it can also decrypt payloads and reassemble CRYPTO frames for both QUIC v1 (RFC 9001) and v2 (RFC 9369).

Features

  • Header Parsing: Zero-copy parsing of QUIC Initial packet headers with no crypto dependencies.
  • Connection ID Peek: Fast extraction of Destination Connection IDs from both Long and Short Header packets.
  • VarInt Decoding: QUIC variable-length integer decoder (RFC 9000 Section 16).
  • Payload Decryption: HKDF-SHA256 key derivation, AES-ECB header protection removal, and AES-128-GCM AEAD decryption.
  • Frame Extraction: Parse CRYPTO frames from decrypted payloads and reassemble them into a contiguous byte stream.
  • Dual Crypto Backend: Choose between ring and aws-lc-rs as the cryptographic provider.

Usage Examples

Check the examples directory for runnable code:

Installation

[dependencies]
quic-parser = { version = "0.1", features = ["full"] }

Feature Flags

Feature Description
ring Enables decryption using ring as the crypto backend (default).
aws-lc-rs Enables decryption using aws-lc-rs as the crypto backend.
tracing Enables optional tracing instrumentation for debugging.
full Enables all features above.

License

Released under the MIT License © 2026 Canmi