mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-13 17:35:37 +00:00
3467890270
make tunnel zero copy, for better performance. remove most of the locks in io path. introduce quic tunnel prepare for encryption
163 lines
3.4 KiB
TOML
163 lines
3.4 KiB
TOML
[package]
|
|
name = "easytier"
|
|
description = "A full meshed p2p VPN, connecting all your devices in one network with one command."
|
|
homepage = "https://github.com/KKRainbow/EasyTier"
|
|
repository = "https://github.com/KKRainbow/EasyTier"
|
|
version = "0.1.2"
|
|
edition = "2021"
|
|
authors = ["kkrainbow"]
|
|
keywords = ["vpn", "p2p", "network", "easytier"]
|
|
categories = ["network-programming", "command-line-utilities"]
|
|
rust-version = "1.75"
|
|
license-file = "LICENSE"
|
|
readme = "README.md"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[[bin]]
|
|
name = "easytier-core"
|
|
path = "src/easytier-core.rs"
|
|
|
|
[[bin]]
|
|
name = "easytier-cli"
|
|
path = "src/easytier-cli.rs"
|
|
test = false
|
|
|
|
[lib]
|
|
name = "easytier"
|
|
path = "src/lib.rs"
|
|
test = false
|
|
|
|
[dependencies]
|
|
tracing = { version = "0.1", features = ["log"] }
|
|
tracing-subscriber = { version = "0.3", features = [
|
|
"env-filter",
|
|
"local-time",
|
|
"time",
|
|
] }
|
|
tracing-appender = "0.2.3"
|
|
log = "0.4"
|
|
thiserror = "1.0"
|
|
auto_impl = "1.1.0"
|
|
crossbeam = "0.8.4"
|
|
time = "0.3"
|
|
toml = "0.8.12"
|
|
chrono = "0.4.35"
|
|
|
|
gethostname = "0.4.3"
|
|
|
|
futures = "0.3"
|
|
|
|
tokio = { version = "1", features = ["full"] }
|
|
tokio-stream = "0.1"
|
|
tokio-util = { version = "0.7.9", features = ["codec", "net"] }
|
|
|
|
async-stream = "0.3.5"
|
|
async-trait = "0.1.74"
|
|
|
|
dashmap = "5.5.3"
|
|
timedmap = "=1.0.1"
|
|
|
|
# for full-path zero-copy
|
|
zerocopy = { version = "0.7.32", features = ["derive", "simd"] }
|
|
bytes = "1.5.0"
|
|
pin-project-lite = "0.2.13"
|
|
atomicbox = "0.4.0"
|
|
tachyonix = "0.2.1"
|
|
|
|
quinn = { version = "0.10.2" }
|
|
rustls = { version = "0.21.0", features = ["dangerous_configuration"] }
|
|
rcgen = "0.11.1"
|
|
|
|
# for tap device
|
|
tun = { version = "0.6.1", features = ["async"] }
|
|
# for net ns
|
|
nix = { version = "0.27", features = ["sched", "socket", "ioctl"] }
|
|
|
|
uuid = { version = "1.5.0", features = [
|
|
"v4",
|
|
"fast-rng",
|
|
"macro-diagnostics",
|
|
"serde",
|
|
] }
|
|
|
|
# for ring tunnel
|
|
crossbeam-queue = "0.3"
|
|
once_cell = "1.18.0"
|
|
|
|
# for packet
|
|
rkyv = { "version" = "0.7.42", features = [
|
|
"validation",
|
|
"archive_le",
|
|
"strict",
|
|
"copy_unsafe",
|
|
"arbitrary_enum_discriminant",
|
|
] }
|
|
postcard = { "version" = "1.0.8", features = ["alloc"] }
|
|
|
|
# for rpc
|
|
tonic = "0.10"
|
|
prost = "0.12"
|
|
anyhow = "1.0"
|
|
tarpc = { version = "0.32", features = ["tokio1", "serde1"] }
|
|
|
|
url = { version = "2.5", features = ["serde"] }
|
|
percent-encoding = "2.3.1"
|
|
|
|
# for tun packet
|
|
byteorder = "1.5.0"
|
|
|
|
# for proxy
|
|
cidr = { version = "0.2.2", features = ["serde"] }
|
|
socket2 = "0.5.5"
|
|
|
|
# for hole punching
|
|
stun_codec = "0.3.4"
|
|
bytecodec = "0.4.15"
|
|
rand = "0.8.5"
|
|
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
pnet = { version = "0.34.0", features = ["serde"] }
|
|
public-ip = { version = "0.2", features = ["default"] }
|
|
|
|
clap = { version = "4.4.8", features = ["unicode", "derive", "wrap_help"] }
|
|
|
|
async-recursion = "1.0.5"
|
|
|
|
network-interface = "1.1.1"
|
|
|
|
# for ospf route
|
|
pathfinding = "4.9.1"
|
|
|
|
# for encryption
|
|
boringtun = { version = "0.6.0" }
|
|
|
|
# for cli
|
|
tabled = "0.15.*"
|
|
humansize = "2.1.3"
|
|
|
|
base64 = "0.21.7"
|
|
|
|
derivative = "2.2.0"
|
|
|
|
[target.'cfg(windows)'.dependencies]
|
|
windows-sys = { version = "0.52", features = [
|
|
"Win32_Networking_WinSock",
|
|
"Win32_NetworkManagement_IpHelper",
|
|
"Win32_Foundation",
|
|
"Win32_System_IO",
|
|
] }
|
|
|
|
[build-dependencies]
|
|
tonic-build = "0.10"
|
|
|
|
[target.'cfg(windows)'.build-dependencies]
|
|
reqwest = { version = "0.11", features = ["blocking"] }
|
|
zip = "0.6.6"
|
|
|
|
|
|
[dev-dependencies]
|
|
serial_test = "3.0.0"
|
|
rstest = "0.18.2"
|
|
defguard_wireguard_rs = "0.4.2"
|