240 lines
6.6 KiB
TOML
240 lines
6.6 KiB
TOML
[package]
|
|
name = "nyaterm"
|
|
version = "1.2.12"
|
|
description = "A modern remote terminal workspace built with Tauri, React, and Rust."
|
|
authors = ["Kang"]
|
|
edition = "2024"
|
|
rust-version = "1.94"
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|
|
strip = "none"
|
|
debug-assertions = true
|
|
overflow-checks = true
|
|
incremental = true
|
|
codegen-units = 256
|
|
lto = false
|
|
panic = "unwind"
|
|
rpath = false
|
|
|
|
[profile.release]
|
|
opt-level = "s"
|
|
lto = "thin"
|
|
codegen-units = 1
|
|
strip = true
|
|
debug = false
|
|
debug-assertions = false
|
|
overflow-checks = false
|
|
incremental = false
|
|
panic = "abort"
|
|
rpath = false
|
|
|
|
[profile.release-size]
|
|
inherits = "release"
|
|
opt-level = "s"
|
|
lto = true
|
|
codegen-units = 1
|
|
strip = true
|
|
debug = false
|
|
panic = "abort"
|
|
|
|
[profile.release-debug]
|
|
inherits = "release"
|
|
debug = "line-tables-only"
|
|
strip = "none"
|
|
split-debuginfo = "unpacked"
|
|
panic = "unwind"
|
|
|
|
[profile.fast-release]
|
|
inherits = "release"
|
|
opt-level = 1
|
|
lto = false
|
|
codegen-units = 256
|
|
incremental = true
|
|
debug = true
|
|
strip = "none"
|
|
panic = "unwind"
|
|
|
|
[lints.clippy]
|
|
pedantic = { level = "warn", priority = -1 }
|
|
# Allow common patterns that are noisy under pedantic
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
wildcard_imports = "allow"
|
|
cast_possible_truncation = "allow"
|
|
cast_sign_loss = "allow"
|
|
cast_precision_loss = "allow"
|
|
struct_excessive_bools = "allow"
|
|
too_many_lines = "allow"
|
|
unnecessary_wraps = "allow"
|
|
|
|
[lib]
|
|
# The `_lib` suffix may seem redundant but it is necessary
|
|
# to make the lib name unique and wouldn't conflict with the bin name.
|
|
# This seems to be only an issue on Windows, see https://github.com/rust-lang/cargo/issues/8519
|
|
name = "nyaterm_lib"
|
|
crate-type = ["staticlib", "cdylib", "rlib"]
|
|
|
|
[build-dependencies]
|
|
tauri-build = { version = "2", features = [] }
|
|
|
|
[dev-dependencies]
|
|
nyaterm-core = { path = "crates/nyaterm-core", features = ["test-support"] }
|
|
tokio = { version = "1", features = ["test-util"] }
|
|
|
|
[dependencies]
|
|
nyaterm-core = { path = "crates/nyaterm-core", features = ["desktop-importer"] }
|
|
tempfile = "3"
|
|
nyaterm-gpu = { path = "crates/nyaterm-gpu" }
|
|
nyaterm-otp = { path = "crates/otp" }
|
|
nyaterm-mcp-protocol = { path = "crates/nyaterm-mcp-protocol" }
|
|
nyaterm-plugin-runtime = { path = "crates/nyaterm-plugin-runtime" }
|
|
tauri = { version = "2", features = ["tray-icon", "protocol-asset"] }
|
|
tauri-plugin-opener = "2"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = { version = "1", features = ["raw_value"] }
|
|
quick-xml = "0.40"
|
|
tokio = { version = "1", features = [
|
|
"rt-multi-thread",
|
|
"macros",
|
|
"sync",
|
|
"io-util",
|
|
"time",
|
|
"fs",
|
|
"process",
|
|
"net",
|
|
] }
|
|
tokio-util = { version = "0.7", features = ["rt"] }
|
|
russh = { path = "vendor/russh/russh", default-features = false, features = ["des", "dsa", "flate2", "ring", "rsa"] }
|
|
russh-sftp = { path = "vendor/russh-sftp" }
|
|
ssh-key = { version = "0.6", features = ["ed25519", "std"] }
|
|
portable-pty = "0.9.0"
|
|
uuid = { version = "1", features = ["v4"] }
|
|
async-trait = "0.1"
|
|
thiserror = "2"
|
|
tracing = "0.1"
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "local-time"] }
|
|
time = { version = "0.3", features = ["formatting", "local-offset", "macros"] }
|
|
tracing-appender = "0.2"
|
|
nucleo-matcher = "0.3"
|
|
dirs = "6.0.0"
|
|
whoami = "1"
|
|
aes-gcm = "0.10"
|
|
aes = "0.8"
|
|
cbc = "0.1"
|
|
base64 = "0.22"
|
|
crypto_secretbox = "0.1"
|
|
keyring = { version = "3.6", features = [
|
|
"apple-native",
|
|
"windows-native",
|
|
"sync-secret-service",
|
|
"crypto-rust",
|
|
] }
|
|
rand = "0.8"
|
|
rusty-leveldb = "4.0"
|
|
sha2 = "0.10"
|
|
sha1 = "0.10"
|
|
sha3 = "0.10"
|
|
pbkdf2 = "0.12"
|
|
zeroize = "1"
|
|
tauri-plugin-dialog = "2"
|
|
tauri-plugin-deep-link = "2"
|
|
notify = { version = "8.2.0", features = ["serde"] }
|
|
lazy_static = "1.5.0"
|
|
open = "5"
|
|
tokio-socks = "0.5.2"
|
|
async-http-proxy = { version = "1.2.5", features = ["runtime-tokio", "basic-auth"] }
|
|
font-kit = "0.14.3"
|
|
reqwest = { version = "0.13", default-features = false, features = [
|
|
"socks",
|
|
"json",
|
|
"form",
|
|
"query",
|
|
"native-tls",
|
|
] }
|
|
reqwest_012_native_tls = { package = "reqwest", version = "0.12.28", default-features = false, features = [
|
|
"native-tls",
|
|
] }
|
|
genai = { version = "0.6.5", default-features = false, features = ["native-tls"] }
|
|
futures-util = "0.3"
|
|
regex = "1"
|
|
md-5 = "0.10"
|
|
hmac = "0.12"
|
|
hex = "0.4"
|
|
http = "1"
|
|
urlencoding = "2"
|
|
zip = "8"
|
|
encoding_rs = "0.8"
|
|
image = { version = "0.25", default-features = false, features = ["png", "jpeg", "bmp", "gif", "webp"] }
|
|
rqrr = "0.9"
|
|
serialport = "4"
|
|
ironrdp = { path = "vendor/ironrdp/crates/ironrdp", default-features = false, features = ["client", "client-clipboard", "cliprdr", "connector", "core", "input", "pdu"] }
|
|
smallvec = "1"
|
|
strip-ansi-escapes = "0.2"
|
|
arboard = { version = "3", features = ["wayland-data-control"] }
|
|
x509-cert = { version = "0.2", default-features = false, features = ["std"] }
|
|
opendal = { version = "0.58", default-features = false, features = [
|
|
"executors-tokio",
|
|
"reqwest-rustls-tls",
|
|
"services-aliyun-drive",
|
|
"services-gdrive",
|
|
"services-onedrive",
|
|
"services-s3",
|
|
"services-webdav",
|
|
"layers-retry",
|
|
"layers-timeout",
|
|
"layers-tracing",
|
|
] }
|
|
redb = "4.1.0"
|
|
zmodem2 = { path = "vendor/zmodem2" }
|
|
vnc-rs = { path = "vendor/vnc-rs" }
|
|
|
|
[patch.crates-io]
|
|
picky = { path = "vendor/picky" }
|
|
sspi = { path = "vendor/sspi" }
|
|
portable-pty = { path = "vendor/portable-pty" }
|
|
|
|
[target.'cfg(not(any(target_os = "android", target_os = "ios")))'.dependencies]
|
|
tauri-plugin-updater = { version = "2", default-features = false, features = [
|
|
"native-tls",
|
|
"zip",
|
|
] }
|
|
tauri-plugin-process = "2"
|
|
tauri-plugin-single-instance = { version = "2", features = ["deep-link"] }
|
|
|
|
[target.'cfg(not(windows))'.dependencies]
|
|
ironrdp = { path = "vendor/ironrdp/crates/ironrdp", default-features = false, features = ["rustls"] }
|
|
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = "0.2"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
ironrdp = { path = "vendor/ironrdp/crates/ironrdp", default-features = false, features = ["native-tls"] }
|
|
webview2-com = "0.38.2"
|
|
# Native Acrylic window material. Pinned to 0.6 to match the version
|
|
# tauri 2.x already pulls in transitively, avoiding duplicate crate versions.
|
|
window-vibrancy = "0.6"
|
|
windows-sys = { version = "0.61", features = [
|
|
"Win32_Foundation",
|
|
"Win32_Security",
|
|
"Win32_Security_Authorization",
|
|
"Win32_Storage_FileSystem",
|
|
"Win32_System_LibraryLoader",
|
|
"Win32_System_Threading",
|
|
"Win32_UI_Input_KeyboardAndMouse",
|
|
] }
|
|
windows = { version = "0.61", features = [
|
|
"Wdk_System_SystemServices",
|
|
"Win32_Foundation",
|
|
"Win32_Graphics_Gdi",
|
|
"Win32_System_Threading",
|
|
"Win32_System_SystemInformation",
|
|
"Win32_System_DataExchange",
|
|
"Win32_System_Memory",
|
|
"Win32_UI_Shell",
|
|
"Win32_UI_WindowsAndMessaging",
|
|
] }
|