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