
Welcome to Kwik & Flupke!
The open source QUIC (and HTTP/3) server written entirely in Java!
Kwik started as a Java QUIC client library and command line application. Today, the Kwik client is a rather mature implementation of the QUIC protocol, and includes features like connection migration, 0-RTT and key update. Interoperability with 13 server implementations is tested daily, see automated interoperability tests.
The QUIC protocol is defined by RFC 9000. Kwik also supports the last IETF draft versions (draft-29 to draft-32, draft-33 and draft-34 are not supposed to be deployed).
Development of the Kwik server started in November 2020. It is still work in progress, but basic functionality works fine, which is proven by the fact that you are currently reading a resource that was served by Kwik.
HTTP/3 support is implemented by Flupke, a library written on top of Kwik. Flupke implements the basic HTTP methods and uses a QPack implementation that doesn't use dynamic compression (i.e. it does not use dynamic table; static table is of course supported, it wouldn't work without).
Kwik and Flupke are created an maintained by Peter Doornbosch. Logo's by Piet van Dongen. For questions, see the contact information in the readme's of the bitbucket repositories.
