Files
曾志威 5ef362ba22
ci / rust (push) Canceled after 0s
ci / native-client (push) Canceled after 0s
ci / package-windows-client (push) Canceled after 0s
ci / linux-agent (push) Canceled after 0s
ci / edge-service (push) Canceled after 0s
ci / coturn-pop (push) Canceled after 0s
ci / package-windows-host (push) Canceled after 0s
migrate runtime and packaging to Rust WebRTC
2026-08-14 16:08:28 +08:00

76 lines
2.3 KiB
TOML

[package]
name = "remotedesk-agent-runtime"
version.workspace = true
edition.workspace = true
license.workspace = true
rust-version.workspace = true
description = "Runnable Linux controlled-endpoint services for RemoteDesk"
[features]
default = ["gstreamer-h264", "wayland-eis"]
gstreamer-h264 = ["dep:gstreamer", "dep:gstreamer-app"]
wayland-eis = ["dep:xkbcommon"]
[lib]
path = "src/lib.rs"
[[bin]]
name = "remotedesk-agentd"
path = "src/bin/remotedesk-agentd.rs"
[[bin]]
name = "remotedesk-agent-session"
path = "src/bin/remotedesk-agent-session.rs"
[[bin]]
name = "remotedesk-shell-session"
path = "src/bin/remotedesk-shell-session.rs"
[[bin]]
name = "remotedesk-file-session"
path = "src/bin/remotedesk-file-session.rs"
[dependencies]
async-trait = "0.1"
base64 = "0.22"
bytes = "1.12"
clap = { version = "4.5", features = ["derive"] }
ed25519-dalek = "2.2"
flate2 = "1.1"
futures-util = "0.3"
rand = "0.9"
rcgen = "0.14"
remotedesk-protocol = { path = "../../protocol" }
remotedesk-webrtc-core = { path = "../../client/crates/webrtc-core" }
reqwest = { version = "0.12.28", default-features = false, features = ["json", "rustls-tls"] }
rtc = "0.20.1"
rustls = { version = "0.23", default-features = false, features = ["logging", "ring", "std", "tls12"] }
rustls-native-certs = "0.8"
rustls-pemfile = "2.2"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = "0.10"
tokio = { version = "1.47", features = ["fs", "io-util", "macros", "net", "process", "rt-multi-thread", "signal", "sync", "time"] }
tokio-rustls = { version = "0.26", default-features = false, features = ["logging", "ring", "tls12"] }
url = "2.5"
webrtc = "0.20.1"
zeroize = "1.9"
[target.'cfg(target_os = "linux")'.dependencies]
gstreamer = { version = "0.24.5", optional = true }
gstreamer-app = { version = "0.24.5", optional = true }
portable-pty = "0.9"
reis = { version = "0.7.1", features = ["tokio"] }
rustix = { version = "1.1", features = ["time"] }
tokio-tungstenite = "0.29"
x11rb = { version = "0.13.2", features = ["xtest"] }
xkbcommon = { version = "0.9", default-features = false, features = ["wayland"], optional = true }
zbus = { version = "5.12", default-features = false, features = ["tokio"] }
[dev-dependencies]
remotedesk-edge-service = { path = "../../edge/edge-service" }
tiny_http = "0.12"
[lints]
workspace = true