[package]
edition = "2021"
rust-version = "1.89.0"
name = "yip-mesh"
version = "0.1.0"
authors = ["FEMBOY CYBER NETWORKS LLC <security@femboy.is>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High-performance userspace WireGuard-alternative overlay network protocol and SDK"
homepage = "https://github.com/femboyisp/yip"
documentation = "https://docs.rs/yip-mesh"
readme = "README.md"
keywords = [
"vpn",
"mesh",
"fec",
"cryptography",
"peer-to-peer",
]
categories = [
"network-programming",
"cryptography",
]
license = "AGPL-3.0-or-later"
repository = "https://github.com/femboyisp/yip"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
ca = ["dep:yip-ca"]
crypto = ["dep:yip-crypto"]
default = [
"crypto",
"wire",
"transport",
"membership",
]
device = ["dep:yip-device"]
full = [
"default",
"device",
"io",
"rendezvous",
"obf",
"utls",
"ca",
]
io = ["dep:yip-io"]
membership = ["dep:yip-membership"]
obf = ["dep:yip-obf"]
rendezvous = ["dep:yip-rendezvous"]
transport = ["dep:yip-transport"]
utls = ["dep:yip-utls"]
wire = ["dep:yip-wire"]
[lib]
name = "yip_mesh"
path = "src/lib.rs"
[dependencies.yip-ca]
version = "0.1.0"
optional = true
[dependencies.yip-crypto]
version = "0.1.0"
optional = true
[dependencies.yip-device]
version = "0.1.0"
optional = true
[dependencies.yip-io]
version = "0.1.0"
optional = true
[dependencies.yip-membership]
version = "0.1.0"
optional = true
[dependencies.yip-obf]
version = "0.1.0"
optional = true
[dependencies.yip-rendezvous]
version = "0.1.0"
optional = true
[dependencies.yip-transport]
version = "0.1.0"
optional = true
[dependencies.yip-utls]
version = "0.1.0"
optional = true
[dependencies.yip-wire]
version = "0.1.0"
optional = true
[lints.clippy]
allow_attributes = "warn"
as_ptr_cast_mut = "warn"
as_underscore = "warn"
borrow_as_ptr = "warn"
implicit_clone = "warn"
undocumented_unsafe_blocks = "warn"
unicode_not_nfc = "warn"
unused_async = "deny"
wildcard_dependencies = "deny"
[lints.rust]
absolute_paths_not_starting_with_crate = "deny"
explicit_outlives_requirements = "warn"
macro_use_extern_crate = "deny"
missing_abi = "deny"
non_ascii_idents = "forbid"
single_use_lifetimes = "warn"
unused_lifetimes = "warn"
unused_macro_rules = "warn"
[lints.rust.rust_2018_idioms]
level = "deny"
priority = -1