[package]
edition = "2021"
rust-version = "1.91"
name = "openrtc"
version = "0.2.1"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OpenRTC: a Rust-first P2P runtime for device discovery, signaling, and iroh/QUIC networking."
homepage = "https://openrtc.app"
documentation = "https://docs.rs/openrtc"
readme = "README.md"
license-file = "LICENSE"
repository = "https://github.com/bluestarburst/openrtc"
[package.metadata.wasm-pack.profile.release]
wasm-opt = [
"-Oz",
"--strip-debug",
"--strip-producers",
"--enable-bulk-memory",
"--enable-nontrapping-float-to-int",
]
[features]
default = []
experimental-scoped-actor = []
test-harness = [
"dep:axum",
"dep:tower-http",
"transport-lan",
]
transport-ble = []
transport-lan = ["dep:iroh-mdns-address-lookup"]
transport-moq = ["dep:wtransport"]
transport-webrtc = ["dep:webrtc"]
[lib]
name = "openrtc"
crate-type = [
"cdylib",
"rlib",
]
path = "src/lib.rs"
[[bin]]
name = "test-harness"
path = "src/bin/test_harness.rs"
required-features = ["test-harness"]
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "parity_tests"
path = "tests/parity_tests.rs"
[[test]]
name = "rtc_matrix_tests"
path = "tests/rtc_matrix_tests.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.async-channel]
version = "2.3.1"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.11.0"
[dependencies.chacha20poly1305]
version = "0.10.1"
features = ["alloc"]
default-features = false
[dependencies.clap]
version = "4.5.60"
features = ["derive"]
[dependencies.futures]
version = "0.3.31"
[dependencies.hex]
version = "0.4"
[dependencies.hkdf]
version = "0.12"
[dependencies.iroh]
version = "1.0.0"
features = ["tls-ring"]
default-features = false
[dependencies.iroh-tickets]
version = "1.0.0"
[dependencies.n0-future]
version = "0.3"
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
default-features = false
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.tokio-stream]
version = "0.1.17"
features = ["sync"]
default-features = false
[dependencies.tokio-util]
version = "0.7.17"
features = [
"compat",
"codec",
]
[dependencies.x25519-dalek]
version = "2.0.1"
features = ["static_secrets"]
[build-dependencies.cfg_aliases]
version = "0.2"
[target.'cfg(all(not(target_arch = "wasm32"), not(any(target_os = "ios", target_os = "android"))))'.dependencies.axum]
version = "0.8"
optional = true
[target.'cfg(all(not(target_arch = "wasm32"), not(any(target_os = "ios", target_os = "android"))))'.dependencies.firestore]
version = "0.49.0"
features = ["tls-webpki-roots"]
default-features = false
[target.'cfg(all(not(target_arch = "wasm32"), not(any(target_os = "ios", target_os = "android"))))'.dependencies.gcloud-sdk]
version = "0.30.0"
features = [
"google-firestore-v1",
"tls-webpki-roots",
]
default-features = false
[target.'cfg(all(not(target_arch = "wasm32"), not(any(target_os = "ios", target_os = "android"))))'.dependencies.open]
version = "5"
[target.'cfg(all(not(target_arch = "wasm32"), not(any(target_os = "ios", target_os = "android"))))'.dependencies.tower-http]
version = "0.6"
features = ["cors"]
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.chrono]
version = "0.4"
features = ["clock"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.getrandom]
version = "0.2"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.iroh-mdns-address-lookup]
version = "0.4.0"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.netdev]
version = "0.43"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls]
version = "0.23"
features = ["ring"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tokio]
version = "1.37"
features = ["full"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.uuid]
version = "1"
features = [
"v4",
"v5",
]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.webrtc]
version = "0.17"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.wtransport]
version = "0.7.1"
features = ["dangerous-configuration"]
optional = true
[target.'cfg(target_arch = "wasm32")'.dependencies.console_error_panic_hook]
version = "0.1.7"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]
[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-timers]
version = "0.3.0"
features = ["futures"]
[target.'cfg(target_arch = "wasm32")'.dependencies.js-sys]
version = "0.3.69"
[target.'cfg(target_arch = "wasm32")'.dependencies.serde-wasm-bindgen]
version = "0.6"
[target.'cfg(target_arch = "wasm32")'.dependencies.tokio]
version = "1.37"
features = [
"sync",
"macros",
"rt",
]
default-features = false
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.92"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.42"
[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-streams]
version = "0.5.0"
[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.69"
features = [
"console",
"Document",
"RtcPeerConnection",
"RtcDataChannel",
"RtcDataChannelInit",
"RtcConfiguration",
"RtcIceServer",
"RtcIceTransportPolicy",
"RtcSessionDescription",
"RtcSessionDescriptionInit",
"RtcSdpType",
"RtcIceCandidate",
"RtcIceCandidateInit",
"RtcPeerConnectionIceEvent",
"RtcDataChannelEvent",
"Window",
"Event",
"CustomEvent",
"CustomEventInit",
"MessageEvent",
"Headers",
"ReadableStream",
"ReadableStreamDefaultReader",
"Request",
"RequestInit",
"RequestMode",
"Response",
]
[target.'cfg(target_os = "windows")'.dependencies.wmi]
version = "0.14"