[package] name = "hiddenlink" version = "1.0.3" description = "A simple tunnel which tries to hide itself inside of other protocols" authors = ["Dmitry Konishchev "] repository = "https://github.com/KonishchevDmitry/hiddenlink" license = "GPL-3.0+" edition = "2021" [lints.clippy] assigning_clones = "allow" new-ret-no-self = "allow" too-many-arguments = "allow" [profile.release] codegen-units = 1 lto = true [dependencies] aes = "0.8" async-trait = "0.1.83" axum = "0.7.7" base64 = "0.22.1" bitflags = "2.6.0" bytes = "1.7.2" clap = "4.5.20" const_format = "0.2.33" easy-logging = "1.0.0" host-port-pair = "0.1.3" humantime-serde = "1.1.1" itertools = "0.13.0" libc = "0.2.159" log = "0.4.22" nix = { version = "0.29.0", features = ["ioctl", "resource", "socket"] } num = "0.4.3" pktparse = "0.7.1" prometheus-client = "0.22.3" rand = "0.8.5" rustls = "0.23.14" rustls-native-certs = "0.8.0" rustls-pemfile = "2.2.0" serde = "1.0.210" serde_derive = "1.0.210" serde_yaml = "0.9.34" shadowsocks-crypto = { version = "0.5.5", features = ["v2"] } socket2 = "0.5.7" thiserror = "1.0.64" tokio = { version = "1", features = ["io-util", "macros", "rt", "rt-multi-thread", "sync", "time"] } tokio-rustls = "0.26.0" tokio-tun = "0.12.0" validator = { version = "0.18.1", features = ["derive", "unic"] } x509-parser = "0.16.0" [target.'cfg(target_env = "musl")'.dependencies] aws-lc-rs = { version = "1.10.0", features = ["bindgen"] } [build-dependencies] bindgen = "0.70.1" [dev-dependencies] matches = "0.1.10" rstest = "0.23.0" shadowsocks = { version = "1.21.0", features = ["aead-cipher-2022"] }