82 lines
2.5 KiB
TOML
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"
|