apprtc 0.3.0

AppRTC P2P/SFU Signaling Server in Rust
Documentation
[workspace]
members = [
    "appweb", # app/web server
    "signaling", # signaling hub
    "signaling-proto", # signaling protobuf
]
exclude = [
    "sfu",
    "sfu/webrtc",
    "sfu/webrtc/rtc",
]
resolver = "2"

[profile.dev]
opt-level = 0

[workspace.package]
version = "0.3.0"
authors = ["Rain Liu <y@liu.mx>"]
edition = "2024"
license = "MIT/Apache-2.0"
homepage = "https://webrtc.rs"
repository = "https://github.com/webrtc-rs/apprtc"
keywords = ["signaling", "networking", "protocols"]
categories = ["network-programming"]

[workspace.dependencies]
appweb = { version = "0.3.0", path = "appweb" }
signaling = { version = "0.3.0", path = "signaling" }
signaling-proto = { version = "0.3.0", path = "signaling-proto" }

sfu = { version = "0.20.0-rc.4", path = "sfu" }
webrtc = { version = "0.20.0-rc.4", path = "sfu/webrtc" }
rtc = { version = "0.20.0-rc.4", path = "sfu/webrtc/rtc" }
sansio = "1.0.1"

serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.150"
url = "2"
rand = "0.10.1"
minijinja = "2"
tokio = { version = "1", features = ["io-util", "macros", "net", "rt-multi-thread", "signal", "sync", "time"] }
axum = { version = "0.8", features = ["ws"] }
futures-util = "0.3"
tower-http = { version = "0.6", features = ["fs"] }
tower = { version = "0.5", features = ["util"] }
clap = { version = "4.6.1", features = ["derive"] }
env_logger = "0.11.11"
chrono = "0.4.45"
anyhow = "1.0.103"
log = "0.4.33"
rustls = { version = "0.23.41", default-features = false, features = ["ring", "std", "tls12"] }
rustls-pemfile = "2.2.0"
tokio-rustls = { version = "0.26.4", default-features = false, features = ["logging", "ring", "tls12"] }
tokio-tungstenite = { version = "0.29", features = ["rustls-tls-webpki-roots"] }
async-trait = "0.1"
bytes = "1"
prost = "0.14.4"
prost-build = "0.14.4"
protoc-bin-vendored = "3.2.0"
tonic = { version = "0.14.6", features = ["tls-ring", "tls-webpki-roots"] }
tonic-prost = "0.14.6"
tonic-prost-build = "0.14.6"
tokio-stream = { version = "0.1", features = ["net"] }

[package]
name = "apprtc"
description = "AppRTC P2P/SFU Signaling Server in Rust"
documentation = "https://docs.rs/apprtc"
version.workspace = true
authors.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
keywords.workspace = true
categories.workspace = true
readme = "README.md"

[dependencies]
appweb.workspace = true
signaling.workspace = true
signaling-proto.workspace = true
sfu.workspace = true
rtc.workspace = true

sansio.workspace = true

tokio.workspace = true
axum.workspace = true
clap.workspace = true
env_logger.workspace = true
chrono.workspace = true
anyhow.workspace = true
log.workspace = true
rand.workspace = true
rustls.workspace = true
rustls-pemfile.workspace = true
tokio-rustls.workspace = true
url.workspace = true
tokio-tungstenite.workspace = true
futures-util.workspace = true
tonic.workspace = true
tokio-stream.workspace = true
bytes.workspace = true
serde.workspace = true
serde_json.workspace = true

[dev-dependencies]
webrtc.workspace = true
async-trait.workspace = true