Home

Awesome

A QUIC implementation in pure Go

<img src="docs/quic.png" width=303 height=124>

Documentation PkgGoDev Code Coverage Fuzzing Status

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:

Support for WebTransport over HTTP/3 (draft-ietf-webtrans-http3) is implemented in webtransport-go.

Detailed documentation can be found on quic-go.net.

Projects using quic-go

ProjectDescriptionStars
AdGuardHomeFree and open source, powerful network-wide ads & trackers blocking DNS server.GitHub Repo stars
algernonSmall self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL supportGitHub Repo stars
caddyFast, multi-platform web server with automatic HTTPSGitHub Repo stars
cloudflaredA tunneling daemon that proxies traffic from the Cloudflare network to your originsGitHub Repo stars
frpA fast reverse proxy to help you expose a local server behind a NAT or firewall to the internetGitHub Repo stars
go-libp2plibp2p implementation in Go, powering Kubo (IPFS) and Lotus (Filecoin), among othersGitHub Repo stars
gostA simple security tunnel written in GoGitHub Repo stars
HysteriaA powerful, lightning fast and censorship resistant proxyGitHub Repo stars
MercureAn open, easy, fast, reliable and battery-efficient solution for real-time communicationsGitHub Repo stars
OONI ProbeNext generation OONI Probe. Library and CLI tool.GitHub Repo stars
RoadRunnerHigh-performance PHP application server, process manager written in Go and powered with pluginsGitHub Repo stars
syncthingOpen Source Continuous File SynchronizationGitHub Repo stars
traefikThe Cloud Native Application ProxyGitHub Repo stars
v2ray-coreA platform for building proxies to bypass network restrictionsGitHub Repo stars
YoMoStreaming Serverless Framework for Geo-distributed SystemGitHub Repo stars

If you'd like to see your project added to this list, please send us a PR.

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. If you have any questions, please feel free to reach out by opening an issue or leaving a comment.