agent: Cargo.toml v0.2.0 — openh264 optional feature, cfg_if, base64 removed, release optimizations
This commit is contained in:
parent
86f0e4e7f2
commit
081cb0d69e
@ -1,8 +1,12 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "butterfly-agent"
|
name = "butterfly-agent"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Butterfly Desktop Agent — captures display/audio from a VM and forwards HUD commands (mouse/keyboard)"
|
description = "Butterfly Desktop Agent — captures display from a VM, encodes as H.264/JPEG, streams via WebSocket, receives and executes remote control commands"
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = ["h264"]
|
||||||
|
h264 = ["openh264"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# Async runtime
|
# Async runtime
|
||||||
@ -12,17 +16,20 @@ tokio = { version = "1", features = ["full"] }
|
|||||||
tokio-tungstenite = { version = "0.24", features = ["connect"] }
|
tokio-tungstenite = { version = "0.24", features = ["connect"] }
|
||||||
futures-util = "0.3"
|
futures-util = "0.3"
|
||||||
|
|
||||||
# Screen capture (cross-platform: DXGI on Windows, X11 on Linux, CG on macOS)
|
# Screen capture (DXGI on Windows, X11 on Linux, CoreGraphics on macOS)
|
||||||
scrap = "0.5"
|
scrap = "0.5"
|
||||||
|
|
||||||
# Input simulation (cross-platform mouse/keyboard injection)
|
# Input simulation (SendInput on Windows, XTest on Linux, CGEvent on macOS)
|
||||||
enigo = "0.2"
|
enigo = "0.2"
|
||||||
|
|
||||||
# Image encoding (BGRA → JPEG)
|
# Image encoding (JPEG fallback)
|
||||||
image = "0.25"
|
image = "0.25"
|
||||||
|
|
||||||
# Base64 encoding for frame data
|
# H.264 encoding (Cisco OpenH264 — software, cross-platform, ~5-15ms encode)
|
||||||
base64 = "0.22"
|
openh264 = { version = "0.6", optional = true }
|
||||||
|
|
||||||
|
# Conditional compilation
|
||||||
|
cfg-if = "1"
|
||||||
|
|
||||||
# Serialization
|
# Serialization
|
||||||
serde = { version = "1", features = ["derive"] }
|
serde = { version = "1", features = ["derive"] }
|
||||||
@ -44,9 +51,7 @@ anyhow = "1"
|
|||||||
# HTTP client (for REST API session creation)
|
# HTTP client (for REST API session creation)
|
||||||
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
|
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }
|
||||||
|
|
||||||
# Audio capture (future use)
|
|
||||||
# cpal = "0.15"
|
|
||||||
|
|
||||||
[profile.release]
|
[profile.release]
|
||||||
opt-level = 3
|
opt-level = 3
|
||||||
lto = true
|
lto = true
|
||||||
|
codegen-units = 1
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user