[package]
name = "cyber-radio-portmapper"
version = "0.1.0"
edition = "2024"
readme = "README.md"
description = "Portmapping utilities"
license = "MIT OR Apache-2.0"
authors = ["n0 team"]
repository = "https://github.com/n0-computer/net-tools"
keywords = ["portmapping", "pmp", "pcp", "upnp"]
# Sadly this also needs to be updated in .github/workflows/ci.yml
rust-version = "1.89"
[lints]
workspace = true
[dependencies]
base64 = "0.22.1"
bytes = "1.7"
derive_more = { version = "2.0.1", features = ["debug", "display", "from", "try_into", "deref"] }
futures-lite = "2.5"
futures-util = "0.3.25"
igd-next = { version = "0.16.1", features = ["aio_tokio"] }
iroh-metrics = { version = "0.38", default-features = false }
libc = "0.2.139"
netwatch = { package = "cyber-radio-netwatch", version = "0.1", path = "../netwatch" }
n0-error = "0.1.2"
num_enum = "0.7"
rand = "0.9"
serde = { version = "1.0.185", features = ["derive", "rc"] }
smallvec = "1.11.1"
socket2 = "0.6"
time = "0.3.20"
tokio = { version = "1", features = ["io-util", "macros", "sync", "rt", "net", "fs", "io-std", "signal", "process"] }
tokio-util = { version = "0.7", features = ["io-util", "io", "codec", "rt"] }
tracing = "0.1"
url = { version = "2.5", features = ["serde"] }
# fix minimal crates
hyper-util = "0.1.11"
tower-layer = "0.3.3"
[dev-dependencies]
ntest = "0.9"
rand_chacha = "0.9"
tokio = { version = "1", features = ["io-util", "sync", "rt", "net", "fs", "macros", "time", "test-util"] }
[features]
default = ["metrics"]
metrics = ["iroh-metrics/metrics"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "iroh_docsrs"]
[lib]
name = "portmapper"