[package]
edition = "2024"
name = "utsuru"
version = "0.2.1"
authors = ["Vincent Verdynanta <connect@vincent.id>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
default-run = "utsuru"
description = "A WebRTC utility for forwarding track packets from a single source to multiple mirrors."
readme = "README.md"
license = "MIT"
repository = "https://github.com/VincentVerdynanta/utsuru"
[features]
cli = [
"axum",
"clap",
"clap_complete",
"tower",
"tracing-subscriber",
]
default = ["cli"]
[lib]
name = "utsuru"
path = "src/lib.rs"
[[bin]]
name = "utsuru"
path = "src/bin/main.rs"
required-features = ["cli"]
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.bytes]
version = "1"
[dependencies.clap]
version = "4.5"
optional = true
[dependencies.clap_complete]
version = "4.5"
optional = true
[dependencies.davey]
version = "0.0.1-pre.6"
[dependencies.futures-util]
version = "0.3"
features = [
"sink",
"std",
]
default-features = false
[dependencies.http]
version = "1"
[dependencies.http-body]
version = "1"
[dependencies.http-body-util]
version = "0.1"
[dependencies.rand]
version = "0.9"
[dependencies.rustls]
version = "0.23.32"
features = [
"ring",
"tls12",
]
default-features = false
[dependencies.serde]
version = "1"
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dependencies.tokio]
version = "1.47"
features = [
"macros",
"rt-multi-thread",
"io-util",
]
[dependencies.tokio-websockets]
version = "0.12"
features = [
"client",
"fastrand",
"ring",
"rustls-platform-verifier",
"sha1_smol",
]
[dependencies.tower]
version = "0.5"
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = ["env-filter"]
optional = true
[dependencies.twilight-gateway]
version = "0.16"
[dependencies.twilight-model]
version = "0.16"
[dependencies.uuid]
version = "1"
features = ["v4"]
[dependencies.webrtc]
version = "0.14"
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
debug = 2
split-debuginfo = "packed"
panic = "abort"
incremental = true
strip = "symbols"