Baike.dev
All toolsOnline toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
L

lsquic

> 编程语言
Open source

LiteSpeed QUIC and HTTP/3 Library

1.9K stars0 likes0 views
WebsiteGitHub

About

LiteSpeed QUIC and HTTP/3 Library

LiteSpeed QUIC (LSQUIC) Library README

Description

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.

Standard Compliance

LiteSpeed QUIC is mostly compliant to the follow RFCs:

  • RFC 9000 QUIC: A UDP-Based Multiplexed and Secure Transport
  • RFC 9001 Using TLS to Secure QUIC
  • RFC 9002 QUIC Loss Detection and Congestion Control
  • RFC 9114 HTTP/3
  • RFC 9204 QPACK: Field Compression for HTTP/3

QUIC protocol extensions

The following QUIC protocol extensions are implemented:

  • RFC 9368 Compatible Version Negotiation for QUIC
  • RFC 9369 QUIC Version 2
  • RFC 9218 Extensible Prioritization Scheme for HTTP
  • RFC 9221 An Unreliable Datagram Extension to QUIC
  • RFC 9287 Greasing the QUIC Bit
  • ACK Frequency
  • WebTransport

Documentation

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.

Requirements

To build LSQUIC, you need CMake, zlib, and BoringSSL. The example program uses libevent to provide the event loop.

Building BoringSSL

BoringSSL is not packaged; you have to build it yourself. The process is straightforward. You will need go installed.

  1. Clone BoringSSL by issuing the following command:
bash
git clone https://boringssl.googlesource.com/boringssl
cd boringssl

You may need to install pre-requisites like zlib and libevent.

  1. Use specific BoringSSL version
bash
git checkout 0.20250807.0

Or, just try the latest master branch.

  1. Compile the library
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

Building LSQUIC Library

LSQUIC's http_client, http_server, and the tests link BoringSSL libraries statically. Following previous section, you can build LSQUIC as follows:

  1. Get the source code
bash
git clone https://github.com/litespeedtech/lsquic.git
cd lsquic
git submodule update --init
  1. Compile the library

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
  1. Run tests
make test

Building with Docker

The library and the example client and server can be built with Docker.

Initialize Git submodules:

bash
cd lsquic
git submodule update --init

Build the Docker image:

bash
docker build -t lsquic .

Then you can use the examples from the command line. For example:

bash
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

Platforms

The library has been tested on the following platforms:

  • Linux
    • i386
    • x86_64
    • ARM (Raspberry Pi 3)
  • FreeBSD
    • i386
  • MacOS
    • x86_64
  • iOS
    • ARM
  • Android
    • ARM
  • Windows
    • x86_64

Get Involved

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

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Cgquich3http3ietf

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言