Back to Quic Go

A QUIC implementation in pure Go

README.md

0.62.09.9 KB
Original Source
<div align="center" style="margin-bottom: 15px;"> </div>

A QUIC implementation in pure Go

<!-- Disabled because OSS-Fuzz still uses Go 1.25, while quic-go requires Go 1.27. Re-enable once OSS-Fuzz supports Go 1.27; tracked in https://github.com/google/oss-fuzz/issues/15307. [![Fuzzing Status](https://oss-fuzz-build-logs.storage.googleapis.com/badges/quic-go.svg)](https://issues.oss-fuzz.com/issues?q=quic-go) -->

quic-go is an implementation of the QUIC protocol (RFC 9000, RFC 9001, RFC 9002) in Go.

Other QUIC specifications:

quic-go also supports HTTP/3 (RFC 9114).

Other HTTP/3 specifications:

  • QPACK: Field Compression for HTTP/3 (RFC 9204)
  • Extensible Prioritization Scheme for HTTP (RFC 9218)
  • HTTP Datagrams and the Capsule Protocol (RFC 9297)

Related projects:

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; see FIPS140.md for details.

Projects using quic-go

ProjectDescriptionStars
AdGuardHomeFree and open source, powerful network-wide ads & trackers blocking DNS server.
algernonSmall self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support
caddyFast, multi-platform web server with automatic HTTPS
cloudflaredA tunneling daemon that proxies traffic from the Cloudflare network to your origins
frpA fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet
go-libp2plibp2p implementation in Go, powering Kubo (IPFS) and Lotus (Filecoin), among others
gostA simple security tunnel written in Go
HysteriaA powerful, lightning fast and censorship resistant proxy
MercureAn open, easy, fast, reliable and battery-efficient solution for real-time communications
nodepassA secure, efficient TCP/UDP tunneling solution that delivers fast, reliable access across network restrictions using pre-established TCP/QUIC/WebSocket or HTTP/2 connections.
OONI ProbeNext generation OONI Probe. Library and CLI tool.
reverstReverse Tunnels in Go over HTTP/3 and QUIC
RoadRunnerHigh-performance PHP application server, process manager written in Go and powered with plugins
syncthingOpen Source Continuous File Synchronization
traefikThe Cloud Native Application Proxy
v2ray-coreA platform for building proxies to bypass network restrictions
YoMoStreaming Serverless Framework for Geo-distributed System

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.

License

The code is licensed under the MIT license. The logo and brand assets are excluded from the MIT license. See assets/LICENSE.md for the full usage policy and details.