[package]
name = "moq-cli"
description = "Media over QUIC"
authors = ["Luke Curley <kixelated@gmail.com>"]
repository = "https://github.com/moq-dev/moq"
license = "MIT OR Apache-2.0"

version = "0.7.35"
edition = "2024"
rust-version.workspace = true

keywords = ["quic", "http3", "webtransport", "media", "live"]
categories = ["multimedia", "network-programming", "web-programming"]

[features]
default = ["iroh", "quinn", "websocket"]
iroh = ["moq-native/iroh"]
quinn = ["moq-native/quinn"]
quiche = ["moq-native/quiche"]
websocket = ["moq-native/websocket"]

[dependencies]
anyhow = { version = "1", features = ["backtrace"] }
axum = { version = "0.8", features = ["tokio"] }
axum-server = { version = "0.8", features = ["tls-rustls"] }
bytes = "1"
clap = { version = "4", features = ["derive"] }
hang = { workspace = true }
humantime = "2.3"
moq-hls = { workspace = true, features = ["server"] }
moq-mux = { workspace = true }
moq-native = { workspace = true, default-features = false, features = ["aws-lc-rs"] }
rustls = { version = "0.23", features = ["aws-lc-rs"], default-features = false }
tokio = { workspace = true, features = ["full"] }
tower-http = { version = "0.7", features = ["cors", "fs"] }
tracing = "0.1"
url = "2"

[target.'cfg(unix)'.dependencies]
sd-notify = "0.5"

[dev-dependencies]
# `test-util` enables `tokio::time::pause` so the TS round-trip test simulates the
# exporter drain timeouts instantly instead of waiting on the wall clock.
tokio = { workspace = true, features = ["test-util"] }
