[package] name = "protomask" version = "1.1.0" authors = ["Evan Pratten "] 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"}, ]