gate4agent-node-core 0.5.7

Transport core of the gate4agent node: platform endpoints, spawn profiles, kernel WireGuard bring-up
Documentation
[package]
name = "gate4agent-node-core"
version = "0.5.7"
edition = "2021"
description = "Transport core of the gate4agent node: platform endpoints, spawn profiles, kernel WireGuard bring-up"
license = "MIT"

[lib]
name = "gate4agent_node_core"

[dependencies]
gate4agent-node-protocol = { path = "../gate4agent-node-protocol", version = "0.5.7" }
gate4agent-types = { path = "../gate4agent-types", version = "0.5.7" }
gate4agent-runtime-native = { path = "../gate4agent-runtime-native", version = "0.5.7" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"

[target.'cfg(unix)'.dependencies]
libc = "0.2"

# Windows: boringtun speaks WireGuard. A tun is opened only when no other tun
# owns the default route. wintun.dll is loaded at runtime. No default route.
# Not optional: a feature cannot enable a target-only optional crate on other targets.
[target.'cfg(windows)'.dependencies]
base64 = "0.22"
boringtun = { version = "0.7.1", default-features = false }
smoltcp = { version = "0.11.0", default-features = false, features = ["std", "medium-ip", "proto-ipv4", "socket-tcp"] }
windows-sys = { version = "0.61", features = [
    "Win32_Foundation",
    "Win32_Networking_WinSock",
    "Win32_System_LibraryLoader",
] }

[features]
default = []
# Node<->C2 WireGuard. Linux calls `ip link` / `wg`. Windows opens its own
# tun only when the machine has none, and then only for the peer host route.
wireguard = []