2021-08-16 23:21:24 +02:00
2021-08-16 23:21:24 +02:00
2021-08-16 23:21:24 +02:00
2016-05-03 10:27:59 +02:00
2021-08-16 23:21:24 +02:00
2021-08-01 17:03:56 +02:00
2021-06-28 15:29:52 -07:00
2020-12-05 23:13:45 +07:00
2021-06-27 15:45:10 -07:00
2021-06-27 15:45:10 -07:00
2021-06-27 15:45:10 -07:00
2021-06-27 15:45:10 -07:00
2020-05-25 13:10:26 +07:00
2021-08-16 23:21:24 +02:00
2021-08-16 23:21:24 +02:00
2016-12-14 11:54:01 +01:00
2021-06-27 15:45:10 -07:00
2021-02-20 09:59:44 +08:00
2021-02-20 09:59:44 +08:00
2021-02-20 09:59:44 +08:00
2021-02-20 09:59:44 +08:00
2021-06-27 15:45:10 -07:00
2021-08-16 23:21:24 +02:00
2021-08-05 14:18:56 +02:00

A QUIC implementation in pure Go

PkgGoDev Travis Build Status CircleCI Build Status Windows Build Status Code Coverage

quic-go is an implementation of the QUIC protocol, RFC 9000 protocol in Go. In addition to RFC 9000, it currently implements the IETF QUIC draft-29. Support for draft-29 will eventually be dropped, as it is phased out of the ecosystem.

Guides

We currently support Go 1.16.x and Go 1.17.x.

Running tests:

go test ./...

QUIC without HTTP/3

Take a look at this echo example.

Usage

As a server

See the example server. Starting a QUIC server is very similar to the standard lib http in go:

http.Handle("/", http.FileServer(http.Dir(wwwDir)))
http3.ListenAndServeQUIC("localhost:4242", "/path/to/cert/chain.pem", "/path/to/privkey.pem", nil)

As a client

See the example client. Use a http3.RoundTripper as a Transport in a http.Client.

http.Client{
  Transport: &http3.RoundTripper{},
}

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.

Description
No description provided
Readme MIT 46 MiB
Languages
Go 99.8%
Shell 0.1%