[package] name = "easytier-proto" description = "EasyTier protobuf and generated RPC types." homepage = "https://github.com/EasyTier/EasyTier" repository = "https://github.com/EasyTier/EasyTier" version = "2.7.0" edition.workspace = true rust-version.workspace = true authors = ["kkrainbow"] keywords = ["vpn", "p2p", "network", "easytier"] categories = ["network-programming"] license-file = "../LICENSE" build = "build/main.rs" [dependencies] anyhow = { workspace = true, optional = true } async-trait = { workspace = true, optional = true } auto_impl = { workspace = true, optional = true } base64 = { workspace = true, optional = true } bytes = { workspace = true, optional = true } chrono = { workspace = true, features = ["serde"], optional = true } cidr = { workspace = true, features = ["serde"], optional = true } hmac = { workspace = true, optional = true } prost = { workspace = true, optional = true } prost-types = { workspace = true, optional = true } prost-wkt-types = { version = "0.7.2", optional = true } pbjson = { version = "0.9.0", optional = true } serde = { workspace = true, features = ["derive"], optional = true } serde_json = { workspace = true, optional = true } sha2 = { workspace = true, optional = true } thiserror = { workspace = true, optional = true } tokio = { workspace = true, features = ["time"], optional = true } url = { workspace = true, features = ["serde"], optional = true } uuid = { workspace = true, features = ["serde"], optional = true } x25519-dalek = { workspace = true, features = ["static_secrets"], optional = true } [build-dependencies] indoc.workspace = true pbjson-build = "0.9.0" proc-macro2 = "1" prost-build = "0.14.4" quote = "1" [target.'cfg(windows)'.build-dependencies] reqwest = { workspace = true, default-features = true, features = ["blocking"] } zip = "8.6.0" [dev-dependencies] tokio = { workspace = true, features = [ "macros", "rt", ] } uuid = { workspace = true, features = [ "v4", "fast-rng", ] } [features] default = ["full"] full = [ "api", "core", "faketcp", "magic-dns", "quic", "utils", "websocket", "wireguard", "zstd", "json-rpc", ] api = ["core"] core = [ "dep:anyhow", "dep:async-trait", "dep:auto_impl", "dep:base64", "dep:bytes", "dep:chrono", "dep:cidr", "dep:hmac", "dep:pbjson", "dep:prost", "dep:prost-types", "dep:serde", "dep:serde_json", "dep:sha2", "dep:thiserror", "dep:tokio", "dep:url", "dep:uuid", "dep:x25519-dalek", ] faketcp = [] magic-dns = [] quic = [] utils = [] websocket = [] wireguard = [] zstd = [] json-rpc = ["dep:prost-wkt-types"] [package.metadata.cargo-machete] ignored = [ # Used by build/main.rs and build/rpc.rs, including the Windows protoc download. "indoc", "pbjson-build", "proc-macro2", "prost-build", "quote", "reqwest", "zip", # Referenced by generated protobuf, serde and RPC code. "auto_impl", "pbjson", "serde", ]