mobilecli 0.2.0

Stream your terminal CLIs to your phone - shell hook edition
[package]
name = "mobilecli"
version = "0.2.0"
description = "Stream your terminal CLIs to your phone - shell hook edition"
authors = ["MobileCLI"]
edition = "2021"
rust-version = "1.70"
license = "MIT"
readme = "README.md"
repository = "https://github.com/MobileCLI/mobilecli"
keywords = ["terminal", "mobile", "cli", "streaming", "pty"]
categories = ["command-line-utilities", "development-tools"]

[[bin]]
name = "mobilecli"
path = "src/main.rs"

[dependencies]
# CLI framework
clap = { version = "4", features = ["derive"] }

# Async runtime
tokio = { version = "1", features = ["full"] }

# PTY for spawning commands
portable-pty = "0.8"

# WebSocket server
tokio-tungstenite = "0.24"
futures-util = "0.3"

# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"

# QR code generation (terminal)
qrcode = "0.14"

# Utilities
uuid = { version = "1", features = ["v4"] }
chrono = { version = "0.4", features = ["serde"] }
thiserror = "2"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
local-ip-address = "0.6"
base64 = "0.22"
rand = "0.8"
sha2 = "0.10"
hmac = "0.12"
subtle = "2.6"
strip-ansi-escapes = "0.2"
walkdir = "2.5"
ignore = "0.4"
notify = "6.1"
notify-debouncer-mini = "0.4"
path_jail = "0.3"
infer = "0.15"
memmap2 = "0.9"
dashmap = "5.5"
rayon = "1.10"
md5 = "0.7"
glob-match = "0.2"
glob = "0.3"

# Terminal colors
colored = "2"

# Signal handling
ctrlc = "3"

# Command resolution
which = "6"

# Cross-platform directories
dirs-next = "2.0"
term_size = "0.3"

# URL encoding for compact QR
urlencoding = "2"

# Hostname detection for device identity
hostname = "0.4"

# HTTP client for push notifications
reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] }

# Unix-only: PTY terminal control, signals, process management
[target.'cfg(unix)'.dependencies]
nix = { version = "0.29", features = ["term", "signal", "process"] }
libc = "0.2"

# Windows-only: Console API
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3", features = ["consoleapi", "processenv", "libloaderapi", "handleapi"] }

[profile.release]
lto = true
codegen-units = 1
strip = true

[dev-dependencies]
tempfile = "3"