[package] name = "rathole" version = "0.4.3" edition = "2021" authors = ["Yujia Qiao "] description = "A reverse proxy for NAT traversal" license = "Apache-2.0" repository = "https://github.com/rapiz1/rathole" readme = "README.md" build = "build.rs" include = ["src/**/*", "LICENSE", "README.md", "build.rs"] [features] default = ["server", "client", "tls", "noise", "hot-reload"] # Run as a server server = [] # Run as a client client = [] # TLS support tls = ["tokio-native-tls"] # Noise support noise = ["snowstorm", "base64"] # Configuration hot-reload support hot-reload = ["notify"] # Feature to enable tokio-console. Disabled by default. # Don't enable it unless for debugging purposes. console = ["console-subscriber", "tokio/tracing"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [profile.dev] panic = "abort" [profile.release] panic = "abort" lto = true codegen-units = 1 strip = true [profile.bench] debug = 1 [profile.minimal] inherits = "release" opt-level = "z" lto = true codegen-units = 1 [dependencies] tokio = { version = "1", features = ["full"] } bytes = { version = "1", features = ["serde"] } clap = { version = "3.0", features = ["derive"] } toml = "0.5" serde = { version = "1.0", features = ["derive"] } anyhow = "1.0" sha2 = "0.10" bincode = "1" lazy_static = "1.4" hex = "0.4" rand = "0.8" backoff = { version = "0.4", features = ["tokio"] } tracing = "0.1" tracing-subscriber = "0.2" socket2 = { version = "0.4", features = ["all"] } fdlimit = "0.2" tokio-native-tls = { version = "0.3", optional = true } async-trait = "0.1" snowstorm = { version = "0.4", optional = true, features = ["stream"], default-features = false } base64 = { version = "0.13", optional = true } notify = { version = "5.0.0-pre.13", optional = true } console-subscriber = { version = "0.1", optional = true, features = ["parking_lot"] } atty = "0.2" async-http-proxy = { version = "1.2", features = ["runtime-tokio", "basic-auth"] } async-socks5 = "0.5" url = { version = "2.2", features = ["serde"] } [build-dependencies] vergen = { version = "6.0", default-features = false, features = ["build", "git", "cargo"] } anyhow = "1.0"