Pure-Rust asynchronous SSH library, both client and server
[package]
name = "thrussh"
description = "A client and server SSH library."
keywords = ["ssh"]
version = "0.35.6"
authors = ["Pierre-Étienne Meunier <pe@pijul.org>"]
repository = "https://nest.pijul.com/pijul/thrussh"
homepage = "https://pijul.org/thrussh"
documentation = "https://docs.rs/thrussh"
license = "Apache-2.0"
readme = "../README.md"
include = [
"Cargo.toml",
"src/auth.rs",
"src/compression.rs",
"src/kex.rs",
"src/key.rs",
"src/lib.rs",
"src/msg.rs",
"src/negotiation.rs",
"src/pty.rs",
"src/session.rs",
"src/sshbuffer.rs",
"src/ssh_read.rs",
"src/cipher/chacha20poly1305.rs",
"src/cipher/clear.rs",
"src/cipher/mod.rs",
"src/client/mod.rs",
"src/client/session.rs",
"src/client/encrypted.rs",
"src/client/kex.rs",
"src/client/proxy.rs",
"src/server/mod.rs",
"src/server/encrypted.rs",
"src/server/kex.rs",
"src/server/session.rs",
"src/sodium.rs",
]
edition = "2018"

[features]
default = [ "flate2" ]
p256 = [ "thrussh-keys/p256" ]
openssl = [ "thrussh-keys/openssl", "dep:openssl" ]

[dependencies]
byteorder = "1.3"
bitflags = "1.2"
log = "0.4"
thrussh-keys = { version = "0.22.0", path = "../thrussh-keys" }
openssl = { version = "0.10", optional = true }
thrussh-libsodium = "0.2"
cryptovec = "0.6.0"
tokio = { version = "1.0", features = [ "io-util", "rt-multi-thread", "time", "net", "sync", "macros", "process" ] }
futures = "0.3"
thiserror = "1.0"
flate2 = { version = "1.0", optional = true }
rand = "0.8"
sha2 = "0.9"
generic-array = "0.14"
digest = "0.9"

[dev-dependencies]
env_logger = "0.7"
tokio = { version = "1.0", features = [ "io-util", "rt-multi-thread", "time", "net", "sync", "macros" ] }
anyhow = "1.0"