838bffdd51
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.100.1 to 0.100.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/rustls/webpki/releases">rustls-webpki's releases</a>.</em></p> <blockquote> <h2>v/0.100.2</h2> <h2>Release notes</h2> <ul> <li>certificate path building and verification is now capped at 100 signature validation operations to avoid the risk of CPU usage denial-of-service attack when validating crafted certificate chains producing quadratic runtime. This risk affected both clients, as well as servers that verified client certificates.</li> </ul> <h2>What's Changed</h2> <ul> <li>v0.100.2 prep by <a href="https://github.com/cpu"><code>@cpu</code></a> in <a href="https://redirect.github.com/rustls/webpki/pull/154">rustls/webpki#154</a></li> </ul> <p><strong>Full Changelog</strong>: <a href="https://github.com/rustls/webpki/compare/v/0.100.1...v/0.100.2">https://github.com/rustls/webpki/compare/v/0.100.1...v/0.100.2</a></p> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href=" |
||
---|---|---|
.github/workflows | ||
.vscode | ||
cert | ||
moq-quinn | ||
moq-transport | ||
moq-warp | ||
.editorconfig | ||
.gitignore | ||
.rustfmt.toml | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md |
README.md
Media over QUIC
Media over QUIC (MoQ) is a live media delivery protocol utilizing QUIC streams. See the MoQ working group for more information.
This repository contains reusable libraries and a relay server. It requires a client to actually publish/view content, such as moq-js.
Join the Discord for updates and discussion.
Setup
Certificates
Unfortunately, QUIC mandates TLS and makes local development difficult. If you have a valid certificate you can use it instead of self-signing.
Use mkcert to generate a self-signed certificate. Unfortunately, this currently requires Go in order to fork the tool.
./cert/generate
Unfortunately, WebTransport in Chrome currently (May 2023) doesn't verify certificates using the root CA.
The workaround is to use the serverFingerprints
options, which requires the certificate MUST be only valid for at most 14 days.
This is also why we're using a fork of mkcert, because it generates certificates valid for years by default.
This limitation will be removed once Chrome uses the system CA for WebTransport.
Usage
Run the server:
cargo run
This listens for WebTransport connections on https://localhost:4443
by default.
Use a MoQ client to connect to the server.
License
Licensed under either:
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)