3.0 KiB
A QUIC implementation in pure Go
quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go. It has support for HTTP/3 (RFC 9114), including QPACK (RFC 9204) and HTTP Datagrams (RFC 9297).
In addition to these base RFCs, it also implements the following RFCs:
- Unreliable Datagram Extension (RFC 9221)
- Datagram Packetization Layer Path MTU Discovery (DPLPMTUD, RFC 8899)
- QUIC Version 2 (RFC 9369)
- QUIC Event Logging using qlog
- QUIC Stream Resets with Partial Delivery
Support for WebTransport over HTTP/3 is implemented in webtransport-go.
Detailed documentation can be found on quic-go.net.
FIPS 140-3
Starting with v0.60, quic-go supports use in FIPS 140-3 environments when built with Go 1.26 or newer, using Go standard library cryptography for the QUIC code paths relevant in FIPS mode.
Projects using quic-go
| Project | Description |
|---|---|
| AdGuardHome | Free and open source, powerful network-wide ads & trackers blocking DNS server. |
| caddy | Fast, multi-platform web server with automatic HTTPS |
| cloudflared | A tunneling daemon that proxies traffic from the Cloudflare network to your origins |
| frp | A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet |
| go-libp2p | libp2p implementation in Go |
| Hysteria | A powerful, lightning fast and censorship resistant proxy |
| syncthing | Open Source Continuous File Synchronization |
| traefik | The Cloud Native Application Proxy |
Release Policy
quic-go always aims to support the latest two Go releases.
Contributing
We are always happy to welcome new contributors! We have a number of self-contained issues that are suitable for first-time contributors, they are tagged with help wanted.
License
The code is licensed under the MIT license.
Source: https://raw.githubusercontent.com/quic-go/quic-go/master/README.md Downloaded: 2026-06-07