# 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"