ngtcp2/ngtcp2 logo

ngtcp2/ngtcp2

Free

ngtcp2 project is an effort to implement IETF QUIC protocol

FreeFree tier
Type
Open Source

About ngtcp2/ngtcp2

ngtcp2 is an open-source project implementing RFC9000 QUIC protocol. It provides libngtcp2, a C library with no external dependencies, along with example client and server applications written in C++23. The implementation supports multiple TLS backends, including GnuTLS, BoringSSL, wolfSSL, and others. It is part of the nghttp2 ecosystem and includes public test servers for experimentation.

Key Features

Implements RFC9000 QUIC protocol
libngtcp2 C library with no external dependencies
Example client and server in C++23
Multiple TLS backends: GnuTLS, BoringSSL, aws-lc, Picotls, wolfSSL, LibreSSL, OpenSSL
Public test server at nghttp2.org
Part of nghttp2 ecosystem for HTTP/3

Pros & Cons

Pros
  • Open source with permissive license (MIT-like)
  • Core library has no external dependencies
  • Wide range of TLS backend support
  • Public test endpoints for easy testing
  • Well-documented with online documentation
Cons
  • Requires modern C++ compilers (C++23) for examples
  • Complex build process with multiple dependencies for examples
  • Primarily targeted at developers, not end-users

Best For

Building custom QUIC clients and serversIntegrating QUIC transport into applicationsExperimental development and research on QUIC protocolLearning and teaching QUIC protocol implementation