ngtcp2/ngtcp2
Freengtcp2 project is an effort to implement IETF QUIC protocol
FreeFree tier
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