finds.dev← search

// the find

moq-dev/web-transport

★ 256 · Rust · Apache-2.0 · updated Jul 2026

Rust WebTransport library for native and WASM

A Rust library that abstracts WebTransport (QUIC streams + datagrams) behind a unified API that compiles to both native and WASM targets. It comes from the MoQ (Media over QUIC) project, so it's built by people who actually need this for real-time media streaming, not a toy implementation. If you're building a Rust server that needs to talk to browsers over HTTP/3 without wrangling Quinn's HTTP/3 setup yourself, this is the shortest path.

The native/WASM split is genuinely well thought out — same trait interface, different backends (Quinn for native, browser WebTransport API for WASM), so you can write shared code that works both places. The qmux fallback over TCP/TLS/WebSocket means you're not dead when WebTransport isn't available on an older client — that's a real production concern most WebTransport libraries ignore. Language bindings via UniFFI cover Python, Kotlin, and Swift with automated release pipelines, which is unusually complete for a library at this star count. The Python test suite includes actual browser interop tests, which is a higher bar than most network libraries bother with.

The crate explosion is a real maintenance surface — eight separate Rust crates, plus JS/Python/Kotlin/Swift bindings, means any breaking change in the trait layer ripples across a lot of code. The quiche backend exists but clearly lags the Quinn backend in test coverage and examples; if you need Cloudflare's QUIC stack instead of Quinn, you're on your own. Self-signed certificate handling in native mode requires manual cert fingerprint pinning, which the browser mandates differently than native clients do — the README glosses over this and it will bite you in integration. The qmux draft spec (draft-ietf-quic-qmux) is still a personal draft, so the fallback path is built on something that may never standardize.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →