Add top-level README.md with alpha status warning, quick start guide, architecture overview, feature flags, transport modes, auth docs, and Node.js API examples. Add dual LICENSE-MIT and LICENSE-APACHE files. Add comprehensive crate-level and module-level rustdoc to all three crates (wraith-core, wraith, wraith-napi) and all public modules (transport, client, server, auth, socks5, error). Add doc comments to key public types (Transport, TransportAcceptor, ConnectOptions, ClientSession, Server, ServeOptions, KeySource, ServerAuthConfig, etc). Update Cargo.toml files with workspace-level package metadata (version, edition, license, repository) and crate descriptions.
45 lines
1.3 KiB
TOML
45 lines
1.3 KiB
TOML
[package]
|
|
name = "wraith-core"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
description = "Core library for Wraith: pluggable SSH tunnel transport, SOCKS5 proxy, port forwarding, and authentication"
|
|
repository.workspace = true
|
|
|
|
[lib]
|
|
name = "wraith_core"
|
|
|
|
[features]
|
|
default = []
|
|
tls = ["dep:tokio-rustls", "dep:rustls", "dep:rustls-pki-types", "dep:webpki-roots"]
|
|
iroh = ["dep:iroh", "dep:url"]
|
|
acme = ["dep:rustls-acme", "dep:futures", "tls"]
|
|
testutil = []
|
|
transport-traits = []
|
|
|
|
[dependencies]
|
|
russh = "0.49"
|
|
tokio = { version = "1", features = ["full"] }
|
|
tracing = "0.1"
|
|
anyhow = "1"
|
|
thiserror = "2"
|
|
tokio-util = { version = "0.7", features = ["compat"] }
|
|
tokio-rustls = { version = "0.26", optional = true }
|
|
rustls = { version = "0.23", optional = true, features = ["aws_lc_rs"] }
|
|
rustls-pki-types = { version = "1", optional = true }
|
|
rustls-acme = { version = "0.12", optional = true }
|
|
futures = { version = "0.3", optional = true }
|
|
webpki-roots = { version = "0.26", optional = true }
|
|
iroh = { version = "0.34", optional = true }
|
|
url = { version = "2", optional = true }
|
|
async-trait = "0.1"
|
|
ipnetwork = "0.21.1"
|
|
|
|
[dev-dependencies]
|
|
wraith-core = { path = ".", features = ["testutil", "tls", "iroh"] }
|
|
tempfile = "3"
|
|
rcgen = "0.14"
|
|
rand_core = "0.6"
|
|
ssh-key = { version = "0.6", features = ["ed25519", "alloc"] }
|
|
rand = "0.10.1"
|