[package]
edition = "2024"
name = "hiddenlink"
version = "1.4.0"
authors = ["Dmitry Konishchev <konishchev@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A simple tunnel which tries to hide itself inside of other protocols"
readme = "README.md"
license = "GPL-3.0+"
repository = "https://github.com/KonishchevDmitry/hiddenlink"
[[bin]]
name = "hiddenlink"
path = "src/main.rs"
[dependencies.aes]
version = "0.8"
[dependencies.async-trait]
version = "0.1.89"
[dependencies.axum]
version = "0.8.6"
[dependencies.base64]
version = "0.22.1"
[dependencies.bitflags]
version = "2.10.0"
[dependencies.bytes]
version = "1.10.1"
[dependencies.clap]
version = "4.5.51"
[dependencies.const_format]
version = "0.2.35"
[dependencies.easy-logging]
version = "1.1.0"
[dependencies.hex]
version = "0.4.3"
[dependencies.host-port-pair]
version = "0.2.2"
[dependencies.html5ever]
version = "0.36.0"
[dependencies.humansize]
version = "2.1.3"
[dependencies.humantime-serde]
version = "1.1.1"
[dependencies.itertools]
version = "0.14.0"
[dependencies.libc]
version = "0.2.177"
[dependencies.log]
version = "0.4.28"
[dependencies.mime]
version = "0.3.16"
[dependencies.mini-moka]
version = "0.10.3"
[dependencies.nix]
version = "0.30.1"
features = [
"ioctl",
"resource",
"socket",
]
[dependencies.num]
version = "0.4.3"
[dependencies.pktparse]
version = "0.7.1"
[dependencies.prometheus-client]
version = "0.24.0"
[dependencies.quick-xml]
version = "0.38.4"
features = ["serialize"]
[dependencies.rand]
version = "0.9.2"
[dependencies.reqwest]
version = "0.13.1"
features = [
"brotli",
"deflate",
"gzip",
"hickory-dns",
"native-tls-vendored",
"zstd",
]
[dependencies.rustls]
version = "0.23.34"
[dependencies.rustls-native-certs]
version = "0.8.2"
[dependencies.rustls-pemfile]
version = "2.2.0"
[dependencies.scraper]
version = "0.25.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_yaml]
version = "0.9.34"
[dependencies.sha2]
version = "0.10.9"
[dependencies.shadowsocks-crypto]
version = "0.6.1"
features = ["v2"]
[dependencies.socket2]
version = "0.6.1"
[dependencies.strum]
version = "0.27"
features = ["derive"]
[dependencies.tendril]
version = "0.4.3"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "1.48"
features = [
"io-util",
"macros",
"rt",
"rt-multi-thread",
"sync",
"time",
]
[dependencies.tokio-rustls]
version = "0.26.4"
[dependencies.tokio-tun]
version = "0.15.0"
[dependencies.tower-http]
version = "0.6"
features = ["compression-full"]
[dependencies.url]
version = "2.5.8"
features = ["serde"]
[dependencies.urlencoding]
version = "2.1.3"
[dependencies.validator]
version = "0.20.0"
features = [
"derive",
"unic",
]
[dependencies.x509-parser]
version = "0.18.0"
[dev-dependencies.matches]
version = "0.1.10"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.shadowsocks]
version = "1.23.2"
features = ["aead-cipher-2022"]
[build-dependencies.bindgen]
version = "0.72.1"
[target.'cfg(target_env = "musl")'.dependencies.aws-lc-rs]
version = "1.14.1"
features = ["bindgen"]
[lints.clippy]
assigning_clones = "allow"
collapsible-if = "allow"
new-ret-no-self = "allow"
precedence = "allow"
too-many-arguments = "allow"
[profile.release]
lto = true
codegen-units = 1