1
protomask/Cargo.toml

123 lines
3.2 KiB
TOML

[package]
name = "protomask"
version = "1.1.0"
authors = ["Evan Pratten <ewpratten@gmail.com>"]
edition = "2021"
description = "A user space NAT64 implementation"
readme = "README.md"
homepage = "https://github.com/ewpratten/protomask"
documentation = "https://docs.rs/protomask"
repository = "https://github.com/ewpratten/protomask"
license = "GPL-3.0"
keywords = []
categories = []
exclude = ["/.github/", "/.vscode/"]
[workspace]
members = [
"libs/easy-tun",
"libs/fast-nat",
"libs/interproto",
"libs/rfc6052",
"libs/rtnl",
"libs/protomask-metrics",
]
[features]
default = []
profiler = [
"puffin",
"puffin_http",
"easy-tun/profile-puffin",
"fast-nat/profile-puffin",
"interproto/profile-puffin",
]
[[bin]]
name = "protomask"
path = "src/protomask.rs"
[[bin]]
name = "protomask-clat"
path = "src/protomask-clat.rs"
[[bin]]
name = "protomask-6over4"
path = "src/protomask-6over4.rs"
[dependencies]
# Internal dependencies
easy-tun = { version = "^2.0.0", path = "libs/easy-tun" }
fast-nat = { version = "^1.0.0", path = "libs/fast-nat" }
interproto = { version = "^1.0.0", path = "libs/interproto", features = [
"metrics",
] }
rfc6052 = { version = "^1.0.0", path = "libs/rfc6052" }
rtnl = { version = "^1.0.0", path = "libs/rtnl", features = ["tokio"] }
protomask-metrics = { version = "^0.1.0", path = "libs/protomask-metrics" }
# External Dependencies
tokio = { version = "1.29.1", features = ["macros", "rt-multi-thread"] }
owo-colors = { version = "3.5.0", features = ["supports-colors"] }
clap = { version = "4.3.11", features = ["derive"] }
ipnet = { version = "2.8.0", features = ["serde"] }
puffin_http = { version = "0.13.0", optional = true }
puffin = { version = "0.16.0", optional = true }
serde = { version = "^1.0", features = ["derive"] }
serde_json = "^1.0"
log = "0.4.19"
fern = "0.6.2"
nix = "0.26.2"
thiserror = "1.0.44"
cfg-if = "1.0.0"
profiling = "1.0.9"
[profile.release]
opt-level = 3
lto = true
[package.metadata.deb]
section = "network"
assets = [
[
"target/release/protomask",
"/usr/local/bin/protomask",
"755",
],
[
"target/release/protomask-clat",
"/usr/local/bin/protomask-clat",
"755",
],
[
"config/protomask.json",
"/etc/protomask/protomask.json",
"644",
],
[
"config/protomask-clat.json",
"/etc/protomask/protomask-clat.json",
"644",
],
[
"README.md",
"/usr/share/doc/protomask/README.md",
"644",
],
]
conf-files = []
depends = []
maintainer-scripts = "./debian/"
systemd-units = [
{ unit-name = "protomask-service", enable = false },
{ unit-name = "protomask-clat-service", enable = false },
]
[package.metadata.generate-rpm]
assets = [
{ source = "target/release/protomask", dest = "/usr/local/bin/protomask", mode = "755"},
{ source = "target/release/protomask-clat", dest = "/usr/local/bin/protomask-clat", mode = "755"},
{ source = "config/protomask.json", dest = "/etc/protomask/protomask.json", mode = "644"},
{ source = "config/protomask-clat.json", dest = "/etc/protomask/protomask-clat.json", mode = "644"},
{ source = "README.md", dest = "/usr/share/doc/protomask/README.md", mode = "644"},
]