PStream implementation based on the MPQUIC project
Please read https://multipath-quic.org/2017/12/09/artifacts-available.html to figure out how to setup the code.
We currently support Go 1.9+.
Installing and updating dependencies:
go get -t -u ./...
Running tests:
go test ./...
go run example/main.go -www /var/www/
Using the quic_client
from chromium:
quic_client --host=127.0.0.1 --port=6121 --v=1 https://quic.clemente.io
Using Chrome:
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --user-data-dir=/tmp/chrome --no-proxy-server --enable-quic --origin-to-force-quic-on=quic.clemente.io:443 --host-resolver-rules='MAP quic.clemente.io:443 127.0.0.1:6121' https://quic.clemente.io
Take a look at this echo example.
go run example/client/main.go https://clemente.io
See the example server or try out Caddy (from version 0.9, instructions here). Starting a QUIC server is very similar to the standard lib http in go:
http.Handle("/", http.FileServer(http.Dir(wwwDir)))
h2quic.ListenAndServeQUIC("localhost:4242", "/path/to/cert/chain.pem", "/path/to/privkey.pem", nil)
See the example client. Use a h2quic.RoundTripper
as a Transport
in a http.Client
.
http.Client{
Transport: &h2quic.RoundTripper{},
}