Implement NAPI connect() function — single SSH channel as duplex stream
- Add WraithConnectOptions struct with napi fields: server, peer, transport, identity (string path or Buffer), tlsServerName, insecure, irohRelay, proxy - Add WraithStream napi class wrapping SSH channel read/write halves via ChannelStream::into_stream() + tokio::io::split() - Implement connect() async function: transport creation (tcp, tls), SSH client connection, authenticate, open direct_tcpip channel, return WraithStream - Identity field accepts file path (string) or in-memory key data (Buffer) - All Rust errors marshalled to JavaScript exceptions with descriptive messages - Add ForwardError enum to wraith-core (required by forward.rs) - Enable tls, iroh features on wraith-core dependency - 7 unit tests for key source resolution and address parsing
This commit is contained in:
@@ -7,6 +7,8 @@ edition = "2021"
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[dependencies]
|
||||
wraith-core = { path = "../wraith-core" }
|
||||
napi = "3"
|
||||
napi-derive = "3"
|
||||
wraith-core = { path = "../wraith-core", features = ["tls", "iroh"] }
|
||||
napi = { version = "3", features = ["async", "error_anyhow"] }
|
||||
napi-derive = "3"
|
||||
tokio = { version = "1", features = ["io-util", "sync"] }
|
||||
russh = "0.49"
|
||||
Reference in New Issue
Block a user