WIP and in hack mode (except few landmines and no-so optimized code)
Note: At present, self-signed certs are used to quic tls setup.
Note: Current code shows how h3 POST can be used to send/recv media for h3 transport.
Install go 1.14 or later
pkg-config, portaudio, opus, opusfile
On OSX you might work
brew install pkg-config portaudio opus opusfile
go get github.com/lucas-clemente/quic-go
go get github.com/gordonklaus/portaudio
go get gopkg.in/hraban/opus.v2
go get github.com/bifurcation/mint/syntax
go get github.com/google/uuid
go get github.com/gorilla/mux
go get github.com/gorilla/websocket
go get github.com/labstack/gommon/log
go get github.com/marten-seemann/qpack
go get golang.org/x/net/http/httpguts
go get golang.org/x/net/http2/hpack
go get golang.org/x/net/idna
go run server/main.go
The program takes few optional arguments
-certfile string
Full path for server cert file
-h3port int
H3 port on which to listen (default 2399)
-host string
server address. (default "")
-keyfile string
Full path for server key file
-wssport int
WSS port on which to listen (default 8080)
For running locally certfile from (common/cert.pem) and keyfile(common/priv.key)
will be used.
cd ript_client
go build .
When running locally CA certfile form (commom/ca.pem) will be used by default.
Receiver:
./ript_client --server=https://localhost:2399 --mode=pull --xport=h3 --dev
Sender:
./ript_client --server=https://localhost:2399 --mode=push --xport=h3 --dev
Note: "--dev" option is needed when clients are talking to server run locally.