Rod Hynes 5c6d016d63 Fix: GSO is incompatible with quic.ObfuscatedPacketConn hai 9 meses
..
http3 cebcf25b74 Update to Go 1.23 hai 1 ano
internal cebcf25b74 Update to Go 1.23 hai 1 ano
logging cebcf25b74 Update to Go 1.23 hai 1 ano
quicvarint cebcf25b74 Update to Go 1.23 hai 1 ano
.gitignore cebcf25b74 Update to Go 1.23 hai 1 ano
.golangci.yml cebcf25b74 Update to Go 1.23 hai 1 ano
Changelog.md 2c06f404dd Integrate psiphon-tls and quic-go v0.41.0 %!s(int64=2) %!d(string=hai) anos
LICENSE 32917dfb51 Vendor Psiphon-Labs/quic-go %!s(int64=6) %!d(string=hai) anos
README.md cebcf25b74 Update to Go 1.23 hai 1 ano
SECURITY.md 2c06f404dd Integrate psiphon-tls and quic-go v0.41.0 %!s(int64=2) %!d(string=hai) anos
buffer_pool.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
client.go cebcf25b74 Update to Go 1.23 hai 1 ano
closed_conn.go cebcf25b74 Update to Go 1.23 hai 1 ano
codecov.yml cebcf25b74 Update to Go 1.23 hai 1 ano
config.go cebcf25b74 Update to Go 1.23 hai 1 ano
conn_id_generator.go cebcf25b74 Update to Go 1.23 hai 1 ano
conn_id_manager.go cebcf25b74 Update to Go 1.23 hai 1 ano
connection.go 15151d9226 Use Psiphon-Labs/quic-go@c5823540 hai 11 meses
connection_logging.go cebcf25b74 Update to Go 1.23 hai 1 ano
connection_timer.go 15ceeb6cfa Update quic-go and its dependencies %!s(int64=3) %!d(string=hai) anos
crypto_stream.go cebcf25b74 Update to Go 1.23 hai 1 ano
crypto_stream_manager.go cebcf25b74 Update to Go 1.23 hai 1 ano
datagram_queue.go 2c06f404dd Integrate psiphon-tls and quic-go v0.41.0 %!s(int64=2) %!d(string=hai) anos
errors.go cebcf25b74 Update to Go 1.23 hai 1 ano
frame_sorter.go b5db6ee0b6 Update vendored Psiphon-Labs/quic-go %!s(int64=3) %!d(string=hai) anos
framer.go cebcf25b74 Update to Go 1.23 hai 1 ano
interface.go cebcf25b74 Update to Go 1.23 hai 1 ano
mockgen.go cebcf25b74 Update to Go 1.23 hai 1 ano
mtu_discoverer.go cebcf25b74 Update to Go 1.23 hai 1 ano
oss-fuzz.sh cebcf25b74 Update to Go 1.23 hai 1 ano
packet_handler_map.go cebcf25b74 Update to Go 1.23 hai 1 ano
packet_packer.go cebcf25b74 Update to Go 1.23 hai 1 ano
packet_unpacker.go cebcf25b74 Update to Go 1.23 hai 1 ano
receive_stream.go cebcf25b74 Update to Go 1.23 hai 1 ano
retransmission_queue.go cebcf25b74 Update to Go 1.23 hai 1 ano
send_conn.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
send_queue.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
send_stream.go cebcf25b74 Update to Go 1.23 hai 1 ano
server.go 15151d9226 Use Psiphon-Labs/quic-go@c5823540 hai 11 meses
stateless_reset.go cebcf25b74 Update to Go 1.23 hai 1 ano
stream.go cebcf25b74 Update to Go 1.23 hai 1 ano
streams_map.go cebcf25b74 Update to Go 1.23 hai 1 ano
streams_map_incoming.go c1e6807d1c Upgrade quic-go %!s(int64=3) %!d(string=hai) anos
streams_map_outgoing.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_buffers.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
sys_conn_buffers_write.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
sys_conn_df.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
sys_conn_df_darwin.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_df_linux.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_df_windows.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_helper_darwin.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_helper_freebsd.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_helper_linux.go 5c6d016d63 Fix: GSO is incompatible with quic.ObfuscatedPacketConn hai 9 meses
sys_conn_helper_nonlinux.go d13b4c8b66 Updated quic-go v0.40.0 %!s(int64=2) %!d(string=hai) anos
sys_conn_no_oob.go 2c06f404dd Integrate psiphon-tls and quic-go v0.41.0 %!s(int64=2) %!d(string=hai) anos
sys_conn_oob.go cebcf25b74 Update to Go 1.23 hai 1 ano
sys_conn_windows.go 2c06f404dd Integrate psiphon-tls and quic-go v0.41.0 %!s(int64=2) %!d(string=hai) anos
token_store.go 2c06f404dd Integrate psiphon-tls and quic-go v0.41.0 %!s(int64=2) %!d(string=hai) anos
tools.go cebcf25b74 Update to Go 1.23 hai 1 ano
transport.go cebcf25b74 Update to Go 1.23 hai 1 ano

README.md

A QUIC implementation in pure Go

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

Project Description Stars
AdGuardHome Free and open source, powerful network-wide ads & trackers blocking DNS server. GitHub Repo stars
algernon Small self-contained pure-Go web server with Lua, Markdown, HTTP/2, QUIC, Redis and PostgreSQL support GitHub Repo stars
caddy Fast, multi-platform web server with automatic HTTPS GitHub Repo stars
cloudflared A tunneling daemon that proxies traffic from the Cloudflare network to your origins GitHub Repo stars
frp A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet GitHub Repo stars
go-libp2p libp2p implementation in Go, powering Kubo (IPFS) and Lotus (Filecoin), among others GitHub Repo stars
gost A simple security tunnel written in Go GitHub Repo stars
Hysteria A powerful, lightning fast and censorship resistant proxy GitHub Repo stars
Mercure An open, easy, fast, reliable and battery-efficient solution for real-time communications GitHub Repo stars
OONI Probe Next generation OONI Probe. Library and CLI tool. GitHub Repo stars
reverst Reverse Tunnels in Go over HTTP/3 and QUIC GitHub Repo stars
RoadRunner High-performance PHP application server, process manager written in Go and powered with plugins GitHub Repo stars
syncthing Open Source Continuous File Synchronization GitHub Repo stars
traefik The Cloud Native Application Proxy GitHub Repo stars
v2ray-core A platform for building proxies to bypass network restrictions GitHub Repo stars
YoMo Streaming Serverless Framework for Geo-distributed System GitHub 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.