Sign in

MOQtail

Draft 18-compliant MoQ Transport toolkit with type-safe TypeScript and Rust APIs for building publishers, subscribers, and relays. Includes demo applications using LOC and CMSF formats.

Category

Libraries & SDKs

License

Open Source

Status

Active

Languages

TypeScript, Rust

MoQT Draft Support

draft-11draft-14draft-16draft-18

Media Formats

LOCCMSF

MOQtail is a Draft 18-compliant MoQ Transport toolkit that provides type-safe APIs in both TypeScript and Rust for building publishers, subscribers, and relays. Developed by a team at Özyeğin University under Professor Ali C. Begen, the project includes reference implementations and demo applications using the LOC and CMSF formats.

Key features

  • Type-safe TypeScript and Rust APIs
  • Publisher, subscriber, and relay components
  • WebTransport integration
  • Deployable relay service (local and containerized via GHCR)
  • Demo applications for real-time, live, and on-demand streaming
  • LOC and CMSF format support

Components

  • Relay — Deployable MoQT relay service
  • Publisher SDK — Build MoQ publishers
  • Subscriber SDK — Build MoQ subscribers
  • Player — Web-based demo player at player.moqtail.dev

Public relay endpoints

MOQtail operates the largest fleet of any implementation in this directory — ten published endpoints on moqtail.dev, listed below with what each answered the last time the moqtap TestLab sweep measured them. The project owner states MOQtail is not a production relay, so none of it should be read as a service level.

They are not one relay behind ten names. The n1 nodes are named by airport code and answer from Singapore, Chicago, Frankfurt and Osaka; the demo endpoints — WatchParty, SyncPlay, TimeTravel and IBC2025 — sit on their own ports and answer on different drafts from each other, as far apart as draft-11 and draft-18. Six of them identify themselves in their setup response as moqtail/0.14.1 — the main relay and the four n1 nodes at build +74eb97c, WatchParty at +fbdbc75. Version and commit is the credible form of self-identification, and it is what makes two of these endpoints distinguishable at all.

11 public endpoints run this

All of them are operated by MOQtail. Each is a separate deployment at its own version and configuration, so what one answers is not a claim about the others, and none of it is a claim about this codebase. 9 of them have a TestLab result; the rest say why they do not.

MOQtail ABR

ord.abr.moqtail.dev:443

The hostname did not resolve when the fleet was last swept — a fact about the name, not about any relay behind it.

MOQtail draft-22

relay.moqtail.dev:8244

Not measured. The probe did not complete a connection on the last sweep, which says nothing about the endpoint.

MOQtail IBC2025

ord.ibc25.moqtail.dev:443

WT draft 11 IPv4

Namespace accepted, track never asked for

Two publishers: standby / closed

1 specification violation

MOQtail n1 Chicago

relay.n1.ord.moqtail.dev:443

QUIC WT draft 22 IPv4

Object delivered end to end first object 116ms

Two publishers: serving / serving

MOQtail n1 Frankfurt

relay.n1.fra.moqtail.dev:443

QUIC WT draft 22 IPv4

Object delivered end to end first object 27ms

Two publishers: serving / serving

MOQtail n1 Osaka

relay.n1.osa.moqtail.dev:443

QUIC WT draft 22 IPv4

Object delivered end to end first object 283ms

Two publishers: serving / serving

MOQtail n1 Singapore

relay.n1.sin.moqtail.dev:443

QUIC WT draft 22 IPv4

Object delivered end to end first object 206ms

Two publishers: serving / serving

MOQtail relay

relay.moqtail.dev:443

QUIC WT draft 22 IPv4

Object delivered end to end first object 26ms

Two publishers: serving / serving

MOQtail SyncPlay

syncplay.moqtail.dev:4448

WT draft 14 IPv4

Namespace accepted, track never asked for

Two publishers: closed / standby

1 specification violation

MOQtail TimeTravel

timetravel.moqtail.dev:4445

WT draft 11 IPv4

Namespace accepted, track never asked for

Two publishers: closed / standby

1 specification violation

MOQtail WatchParty

watch-party.moqtail.dev:4446

QUIC WT draft 16 IPv4

Namespace accepted, track never asked for

Two publishers: standby / closed

Every public MoQ endpoint we track is at /endpoints .