Files
netdesk/native/host/Cargo.toml
T

82 lines
2.5 KiB
TOML

# netdesk-host — the NATIVE RUST host (screen capture + H.264 encode + input
# injection) that feeds netdesk_core::host::run_host. This replaces the Python
# host engine so the Windows app is one unified Rust binary (host + viewer).
# Developed by Akronlogic.
[package]
name = "netdesk-host"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
[dependencies]
netdesk-core = { path = "../core" }
tokio = { workspace = true }
anyhow = { workspace = true }
serde_json = { workspace = true }
log = "0.4"
# OS clipboard for viewer->host clipboard sync (RustDesk-style).
arboard = "3"
# Encode extracted custom-cursor bitmaps to PNG for cursor.shape (the viewers
# render data:image/png). Base64 of the bytes is done in core on send.
png = "0.17"
env_logger = "0.11"
tracing = "0.1"
tracing-subscriber = { workspace = true }
openh264 = { workspace = true }
[target.'cfg(windows)'.dependencies]
# VP9 software encode (libvpx) for constrained links — the constrained-link
# codec alongside the hardware H.264 path.
netdesk-vpx = { path = "../vpx" }
# Opus encode for system-audio capture (WASAPI loopback -> Opus -> CHAN_AUDIO).
netdesk-opus = { path = "../opus" }
windows = { version = "0.58", features = [
"Win32_Media_Audio",
"Win32_Media_KernelStreaming",
"Win32_System_Com_StructuredStorage",
"Win32_Foundation",
"Win32_System_Com",
"Win32_System_Threading",
"Win32_System_Console",
"Win32_System_Pipes",
"Win32_System_IO",
"Win32_Security",
"Win32_System_Power",
"Win32_Storage_FileSystem",
"Win32_System_SystemInformation",
"Win32_System_RemoteDesktop",
"Win32_System_Services",
"Win32_System_StationsAndDesktops",
"Win32_Security_Authentication_Identity",
"Win32_System_ProcessStatus",
"Win32_System_Diagnostics_ToolHelp",
"Win32_Media_MediaFoundation",
"Win32_Graphics_Direct3D",
"Win32_Graphics_Direct3D11",
"Win32_Graphics_Dxgi",
"Win32_Graphics_Dxgi_Common",
"Win32_Graphics_Gdi",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_WindowsAndMessaging",
"Win32_UI_HiDpi",
] }
[[bin]]
name = "netdesk-host-probe"
path = "src/bin/probe.rs"
[[bin]]
name = "netdesk-host-encbench"
path = "src/bin/encbench.rs"
[[bin]]
name = "netdesk-host-engine"
path = "src/bin/engine.rs"
# Privacy-mode feasibility probe: does WDA_EXCLUDEFROMCAPTURE hide a window from
# this host's own DXGI + GDI capture? (determines the privacy-mode mechanism)
[[bin]]
name = "netdesk-privacy-probe"
path = "src/bin/privacy_probe.rs"