Initialize Cargo workspace with wraith-core, wraith, and wraith-napi crates

- Workspace root Cargo.toml with three crate members
- wraith-core: library with feature flags (tls, iroh, acme), core deps (russh, tokio, tracing, anyhow, thiserror, tokio-util), module skeleton (transport, client, server, auth, socks5, error)
- wraith: binary crate depending on wraith-core with clap derive
- wraith-napi: cdylib crate depending on wraith-core, napi, napi-derive
- .gitignore for target/ and node_modules/
This commit is contained in:
2026-06-02 09:14:40 +00:00
parent 14dbd81195
commit 2bc15f1035
15 changed files with 5714 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
[package]
name = "wraith-core"
version = "0.1.0"
edition = "2021"
[lib]
name = "wraith_core"
[features]
default = []
tls = ["dep:tokio-rustls", "dep:rustls"]
iroh = ["dep:iroh"]
acme = ["dep:rustls-acme", "tls"]
[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 }
rustls-acme = { version = "0.12", optional = true }
iroh = { version = "0.34", optional = true }

View File

View File

View File

View File

@@ -0,0 +1,6 @@
pub mod transport;
pub mod client;
pub mod server;
pub mod auth;
pub mod socks5;
pub mod error;

View File

View File

View File

View File

@@ -0,0 +1,12 @@
[package]
name = "wraith-napi"
version = "0.1.0"
edition = "2021"
[lib]
crate-type = ["cdylib"]
[dependencies]
wraith-core = { path = "../wraith-core" }
napi = "3"
napi-derive = "3"

View File

@@ -0,0 +1,3 @@
#[allow(unused_imports)]
#[macro_use]
extern crate napi_derive;

14
crates/wraith/Cargo.toml Normal file
View File

@@ -0,0 +1,14 @@
[package]
name = "wraith"
version = "0.1.0"
edition = "2021"
[[bin]]
name = "wraith"
path = "src/main.rs"
[dependencies]
wraith-core = { path = "../wraith-core" }
clap = { version = "4", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
anyhow = "1"

View File

@@ -0,0 +1 @@
fn main() {}