# 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 = "socks5-impl"
version = "0.8.6"
authors = ["ssrlive <ssrlivebox@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Fundamental abstractions and async read / write functions for SOCKS5 protocol and Relatively low-level asynchronized SOCKS5 server implementation based on tokio"
readme = "README.md"
keywords = [
    "socks5",
    "socks",
    "proxy",
    "async",
    "network",
]
categories = [
    "network-programming",
    "asynchronous",
]
license = "GPL-3.0-or-later"
repository = "https://github.com/ssrlive/socks5-impl"

[package.metadata.docs.rs]
all-features = true

[features]
client = ["tokio"]
serde = ["dep:serde"]
server = ["tokio"]
tokio = [
    "dep:tokio",
    "async-trait",
]

[lib]
name = "socks5_impl"
path = "src/lib.rs"

[[example]]
name = "demo-client"
path = "examples/demo-client.rs"
required-features = ["client"]

[[example]]
name = "demo-server"
path = "examples/demo-server.rs"
required-features = ["tokio"]

[[example]]
name = "dns-query"
path = "examples/dns-query.rs"
required-features = ["client"]

[[example]]
name = "echo-server"
path = "examples/echo-server.rs"
required-features = ["tokio"]

[[example]]
name = "s5-server"
path = "examples/s5-server.rs"
required-features = ["server"]

[[example]]
name = "udp-client"
path = "examples/udp-client.rs"
required-features = ["client"]

[dependencies.async-trait]
version = "0.1.89"
optional = true

[dependencies.bytes]
version = "1.11.1"

[dependencies.percent-encoding]
version = "2.3.2"

[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true

[dependencies.thiserror]
version = "2.0.18"

[dependencies.tokio]
version = "1.52.3"
features = [
    "net",
    "io-util",
    "time",
    "macros",
    "rt",
]
optional = true
default-features = false

[dependencies.url]
version = "2.5.8"

[dev-dependencies.clap]
version = "4.6.1"
features = [
    "derive",
    "wrap_help",
]

[dev-dependencies.ctrlc2]
version = "4.0.0"
features = [
    "async",
    "termination",
]

[dev-dependencies.dotenvy]
version = "0.15.7"

[dev-dependencies.env_logger]
version = "0.11.10"

[dev-dependencies.hickory-proto]
version = "0.26.1"

[dev-dependencies.log]
version = "0.4.32"

[dev-dependencies.moka]
version = "0.12.15"
features = ["future"]

[dev-dependencies.rand]
version = "0.10.1"

[dev-dependencies.tokio]
version = "1.52.3"
features = ["rt-multi-thread"]

[dev-dependencies.tokio-util]
version = "0.7.18"
features = []
