@@ -4,36 +4,35 @@ title: QUIC Working Group - Implementations and tools
4
4
---
5
5
6
6
This page lists details of known active QUIC implementations (applications or
7
- libraries) and QUIC-related tooling.
8
-
9
- ## Overview table
10
-
11
- | Name |
12
- | ---------------------------------------------------------------------------------- |
13
- | [ aioquic] ( #aioquic ) |
14
- | [ AppleQuic] ( #applequic ) |
15
- | [ Chromium] ( #chromium ) |
16
- | [ f5] ( #f5 ) |
17
- | [ haproxy] ( #haproxy ) |
18
- | [ Haskell quic] ( #haskell-quic ) |
19
- | [ kwik / flupke] ( #kwik--flupke ) |
20
- | [ linuxquic] ( #linuxquic ) |
21
- | [ lsquic / lsqpack] ( #lsquic--lsqpack ) |
22
- | [ MsQuic] ( #msquic ) |
23
- | [ mvfst / proxygen] ( #mvfst--proxygen ) |
24
- | [ Neqo] ( #neqo ) |
25
- | [ ngtcp2 / nghttp3 / h2load] ( #ngtcp2--nghttp3--h2load ) |
26
- | [ nginx] ( #nginx ) |
27
- | [ picoquic / fuzi_q] ( #picoquic--fuzi_q ) |
28
- | [ qlog / qvis] ( #qlog--qvis ) |
29
- | [ quiche / h3i] ( #quiche--h3i ) |
30
- | [ quicly] ( #quicly ) |
31
- | [ QUIC Interop runner / network simulator] ( #quic-interop-runner--network-simulator ) |
32
- | [ Quinn] ( #quinn ) |
33
- | [ quic-go] ( #quic-go ) |
34
- | [ s2n-quic] ( #s2n-quic ) |
35
- | [ Wireshark] ( #wireshark ) |
36
- | [ XQUIC] ( #xquic ) |
7
+ libraries) and QUIC-related tooling. Many of these are open source projects that
8
+ welcome contributions. Several project include a "Vulnerability Reporting" field
9
+ containing details for reporting vulnerability-related matters.
10
+
11
+ Implementations
12
+ : [ aioquic] ( #aioquic )
13
+ : [ AppleQuic] ( #applequic )
14
+ : [ Chromium] ( #chromium )
15
+ : [ f5] ( #f5 )
16
+ : [ haproxy] ( #haproxy )
17
+ : [ Haskell quic] ( #haskell-quic )
18
+ : [ kwik / flupke] ( #kwik--flupke )
19
+ : [ linuxquic] ( #linuxquic )
20
+ : [ lsquic / lsqpack] ( #lsquic--lsqpack )
21
+ : [ MsQuic] ( #msquic )
22
+ : [ mvfst / proxygen] ( #mvfst--proxygen )
23
+ : [ Neqo] ( #neqo )
24
+ : [ ngtcp2 / nghttp3 / h2load] ( #ngtcp2--nghttp3--h2load )
25
+ : [ nginx] ( #nginx )
26
+ : [ picoquic / fuzi_q] ( #picoquic--fuzi_q )
27
+ : [ qlog / qvis] ( #qlog--qvis )
28
+ : [ quiche / h3i] ( #quiche--h3i )
29
+ : [ quicly] ( #quicly )
30
+ : [ QUIC Interop runner / network simulator] ( #quic-interop-runner--network-simulator )
31
+ : [ Quinn] ( #quinn )
32
+ : [ quic-go] ( #quic-go )
33
+ : [ s2n-quic] ( #s2n-quic )
34
+ : [ Wireshark] ( #wireshark )
35
+ : [ XQUIC] ( #xquic )
37
36
38
37
39
38
## Details
@@ -127,9 +126,7 @@ exists to discuss the interface between kernel and user space.
127
126
LiteSpeed QUIC and HTTP/3 library. Works on Linux, FreeBSD, MacOS, Android, and
128
127
Windows. Turn-key open-source web server that uses lsquic is available at
129
128
[ openlitespeed.org] ( https://openlitespeed.org/ ) in both source and package
130
- forms. Bindings are available for
131
- [ Crystal] ( https://github.com/iv-org/lsquic.cr ) and
132
- [ Lisp] ( https://github.com/AeroNotix/cl-lsquic ) .
129
+ forms.
133
130
134
131
- Website: [ https://github.com/litespeedtech/lsquic ] ( https://github.com/litespeedtech/lsquic )
135
132
- Language(s): C
@@ -212,17 +209,6 @@ license. Tested on Windows, Linux, FreeBSD/IOS.
212
209
Over the net fuzzing of QUIC servers or clients. Fuzi_q can be used as a client
213
210
to test a QUIC server, or as a server to test a QUIC client.
214
211
215
- Fuzi_q started from the testsuite of picoquic. Fuzi_q hooks into the Picoquic
216
- stack, catching messages just before they would be encrypted and fuzzing them.
217
- It tries to do that intelligently. For each connection, Fuzi_q determines an
218
- encryption point, such as "the initial messages ave been processed", or "the
219
- handshake is confirmed", or "the connection is closing". The connection
220
- progresses up to that state, and then packets are fuzzed. The fuzzing itself is
221
- based on knowledge of the QUIC protocol. The fuzzer might modify QUIC frames, or
222
- insert randomly chosen QUIC frames in the packets. The procedures implemented in
223
- the initial version are simple, there is clearly room for more sophistication.
224
- Suggestions are welcome.
225
-
226
212
- Website: [ https://github.com/private-octopus/picoquic ] ( https://github.com/private-octopus/picoquic )
227
213
- Language(s): C
228
214
- Role(s): client, server, library, tool
@@ -302,6 +288,7 @@ interface, using rustls for TLS.
302
288
### quic-go
303
289
304
290
Implementation using Go
291
+
305
292
- Website: [ https://github.com/quic-go/quic-go ] ( https://github.com/quic-go/quic-go )
306
293
- Language(s): Go
307
294
- Role(s): client, server, library
0 commit comments