[package] authors = ["Christian Visintin "] categories = ["command-line-utilities"] description = "termscp is a feature rich terminal file transfer and explorer with support for SCP/SFTP/FTP/Kube/S3/WebDAV" edition = "2024" homepage = "https://termscp.veeso.dev" include = ["src/**/*", "build.rs", "LICENSE", "README.md", "CHANGELOG.md"] keywords = ["terminal", "ftp", "scp", "sftp", "tui"] license = "MIT" name = "termscp" readme = "README.md" repository = "https://github.com/veeso/termscp" version = "1.0.0" rust-version = "1.89.0" [package.metadata.rpm] package = "termscp" [package.metadata.rpm.cargo] buildflags = ["--release"] [package.metadata.rpm.targets] termscp = { path = "/usr/bin/termscp" } [package.metadata.deb] maintainer = "Christian Visintin " copyright = "2025, Christian Visintin " extended-description-file = "docs/misc/README.deb.txt" [[bin]] name = "termscp" path = "src/main.rs" [dependencies] aes = "0.8" aes-gcm = "0.10" argh = "^0.1" base64 = "0.22" bitflags = "^2" cbc = { version = "0.1", features = ["alloc"] } bytesize = "^2" chrono = "^0.4" content_inspector = "^0.2" dirs = "^6" edit = "^0.1" filetime = "^0.2" keyring = { version = "^3", features = [ "apple-native", "windows-native", "sync-secret-service", "vendored", ] } lazy-regex = "^3" log = "^0.4" md-5 = "0.10" notify = "8" notify-rust = { version = "^4", default-features = false, features = ["d"] } nucleo = "0.5" open = "5" rand = "0.9" regex = "^1" remotefs = "^0.3" remotefs-aws-s3 = "0.4" remotefs-kube = "0.4" remotefs-smb = { version = "^0.3", optional = true } remotefs-ssh = { version = "0.8", default-features = false, features = ["russh"] } remotefs-webdav = "^0.2" rpassword = "^7" self_update = { version = "0.42", default-features = false, features = [ "rustls", "archive-tar", "archive-zip", "compression-flate2", "compression-zip-deflate", ] } serde = { version = "^1", features = ["derive"] } shellexpand = "3" simplelog = "^0.12" ssh2-config = "^0.7" tempfile = "3" thiserror = "2" tokio = { version = "1", features = ["rt"] } toml = "1" tui-realm-stdlib = "3" tuirealm = "3" tui-term = "0.2" unicode-width = "0.2" version-compare = "^0.2" whoami = "2" wildmatch = "2" [target."cfg(target_family = \"unix\")".dependencies] remotefs-ftp = { version = "^0.4", features = [ "native-tls-vendored", "native-tls", ] } uzers = "0.12" [target."cfg(target_family = \"windows\")".dependencies] remotefs-ftp = { version = "^0.4", features = ["native-tls"] } [dev-dependencies] pretty_assertions = "^1" serial_test = "^3" [build-dependencies] cfg_aliases = "0.2" vergen-git2 = { version = "9", features = ["build", "cargo", "rustc", "si"] } [features] default = ["smb", "keyring"] github-actions = [] isolated-tests = [] keyring = [] smb = ["dep:remotefs-smb"] smb-vendored = ["remotefs-smb/vendored"] [lints.rust] trivial_numeric_casts = "warn" unsafe_op_in_unsafe_fn = "warn" unused_lifetimes = "warn" [lints.clippy] complexity = { level = "warn", priority = -1 } correctness = { level = "warn", priority = -1 } perf = { level = "warn", priority = -1 } style = { level = "warn", priority = -1 } suspicious = { level = "warn", priority = -1 } [profile.dev] incremental = true [profile.release] strip = true