hiddenlink 1.4.0

A simple tunnel which tries to hide itself inside of other protocols
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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