| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
LiteSpeed QUIC (LSQUIC) Library is an open-source implementation of QUIC and HTTP/3 functionality for servers and clients. Most of the code in this distribution is used in our own products: LiteSpeed Web Server, LiteSpeed ADC, and OpenLiteSpeed.
QUIC versions v1, v2, and Internet-Draft version 29 are enabled by default. Deprecated versions ID-27 and the older "Google" QUIC versions Q043, Q046, and Q050 are still supported, but are not enabled by default.
LiteSpeed QUIC is mostly compliant to the follow RFCs:
The following QUIC protocol extensions are implemented:
Documentation is available at https://lsquic.readthedocs.io/en/latest/.
In addition, see example programs for API usage and EXAMPLES.txt for some compilation and run-time options.
To build LSQUIC, you need CMake, zlib, and BoringSSL. The example program uses libevent to provide the event loop.
BoringSSL is not packaged; you have to build it yourself. The process is straightforward. You will need go installed.
git clone https://boringssl.googlesource.com/boringssl cd boringssl
You may need to install pre-requisites like zlib and libevent.
git checkout 0.20250807.0
Or, just try the latest master branch.
cmake . && make
Remember where BoringSSL sources are:
BORINGSSL=$PWD
If you want to turn on optimizations, do
cmake -DCMAKE_BUILD_TYPE=Release . && make
If you want to build as a library, (necessary to build lsquic itself as as shared library) do:
cmake -DBUILD_SHARED_LIBS=1 . && make
LSQUIC's http_client, http_server, and the tests link BoringSSL libraries statically. Following previous section, you can build LSQUIC as follows:
git clone https://github.com/litespeedtech/lsquic.git cd lsquic git submodule update --init
Statically:
# $BORINGSSL is the top-level BoringSSL directory from the previous step cmake -DLIBSSL_DIR=$BORINGSSL . make
As a dynamic library:
cmake -DLSQUIC_SHARED_LIB=1 -DLIBSSL_DIR=$BORINGSSL . make
make test
The library and the example client and server can be built with Docker.
Initialize Git submodules:
cd lsquic git submodule update --init
Build the Docker image:
docker build -t lsquic .
Then you can use the examples from the command line. For example:
sudo docker run -it --rm lsquic http_client -s www.google.com -p / -o version=h3 sudo docker run -p 12345:12345/udp -v /path/to/certs:/mnt/certs -it --rm lsquic http_server -c www.example.com,/mnt/certs/chain,/mnt/certs/key
The library has been tested on the following platforms:
Do not hesitate to report bugs back to us. Even better, send us fixes and improvements!
Have fun,
LiteSpeed QUIC Team.
Copyright (c) 2017 - 2026 LiteSpeed Technologies Inc
| Back | FazBrowse Home | New Git URL |