NetDesk 1.5.0 — source release

This commit is contained in:
NetDesk committed 2026-10-18 02:02:46 +00:00
commit 40318aafdd
227 files changed
+80798

No files matched your search

+97
View File
@@ -0,0 +1,97 @@
[package]
name = "netdesk-cli"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
description = "Headless NetDesk native client — connects to a host and verifies the pipeline (dev/test harness)."
[[bin]]
name = "netdesk"
path = "src/main.rs"
# End-to-end feature test harness: connects to the live host and verifies every
# Session feature + the read-only host_ctl backend. See src/bin/e2e.rs.
[[bin]]
name = "netdesk-e2e"
path = "src/bin/e2e.rs"
# TCP tunnel client: forward a local port through the relay to a port on the
# remote host (SSH/VNC/RDP/DB over NetDesk). Portal-authed.
[[bin]]
name = "netdesk-tunnel"
path = "src/bin/tunnel.rs"
# LAN discovery scanner: find NetDesk hosts on the local network.
[[bin]]
name = "netdesk-lan-scan"
path = "src/bin/lan_scan.rs"
# Recursive folder download: pull a whole remote folder tree to a local dir.
[[bin]]
name = "netdesk-getdir"
path = "src/bin/getdir.rs"
# Interactive terminal: run commands on the remote host's shell (ConPTY).
[[bin]]
name = "netdesk-term"
path = "src/bin/term.rs"
# Voice send-test: capture this PC's mic and stream it to the host over
# CHAN_VOICE (drives the exact native-viewer voice path, headlessly).
[[bin]]
name = "netdesk-voice-send"
path = "src/bin/voice_send.rs"
# FPS probe: count received video frames per 1-second bucket (observes the
# host's startup FPS ramp end to end).
[[bin]]
name = "netdesk-fps-probe"
path = "src/bin/fps_probe.rs"
# Privacy-mode integration test: toggle privacy + verify sys.res and that the
# capture keeps delivering frames through the blackout.
[[bin]]
name = "netdesk-privacy-test"
path = "src/bin/privacy_test.rs"
# Direct-IP connect test: dial a host's IP:port directly (no relay) over
# DirectTcp and verify the E2E session + video.
[[bin]]
name = "netdesk-direct"
path = "src/bin/direct_connect.rs"
[dependencies]
netdesk-core = { path = "../core" }
# e2e decodes received Opus audio packets to measure real per-source energy
# (RMS/peak) — proving system + mic audio actually transmit, not just that
# packets arrive.
netdesk-opus = { path = "../opus" }
tokio = { workspace = true }
anyhow = { workspace = true }
# e2e.rs parses sys.res / session.info JSON and pulls in the viewer's host_ctl
# module verbatim (via #[path]); host_ctl needs serde derive, serde_json, a
# blocking HTTP client (ureq) and the clipboard crate it references.
serde = { workspace = true }
serde_json = { workspace = true }
ureq = { version = "2.10", features = ["json"] }
arboard = "3"
# netdesk-tunnel client: portal-login (ureq) then a raw tunnel WebSocket to
# wss://server/tunnel/<hid>, piping a local TcpListener through it.
tokio-tungstenite = { workspace = true }
futures-util = { workspace = true }
# e2e.rs verifies REAL OS-level input injection on the host (which, for the live
# test, runs on this same machine): GetCursorPos confirms the mouse actually
# moved, GetAsyncKeyState confirms a key actually registered. DPI-aware so the
# readings share the host's physical pixel space.
[target.'cfg(windows)'.dependencies]
# the e2e bin #[path]-includes viewer/src/host_ctl.rs, which drives the in-process
# native host engine for the HOSTCTL checks.
netdesk-host = { path = "../host" }
windows = { version = "0.58", features = [
"Win32_Foundation",
"Win32_UI_WindowsAndMessaging",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_HiDpi",
] }