[package] name = "vproxy" version = "1.1.2" edition = "2021" authors = ["gngppz@gmail.com"] description = "An easy and powerful Rust HTTP/Socks5/HTTP2Socks5 Proxy" readme = "README.md" license = "MIT" homepage = "https://github.com/0x676e67/vproxy" repository = "https://github.com/0x676e67/vproxy" rust-version = "1.76" [dependencies] base64 = "0.22.0" cidr = "0.2.2" thiserror = "1.0.56" tokio = { version = "1", features = [ "net", "rt-multi-thread", "macros", "io-util", ] } rand = "0.8.5" clap = { version = "4", features = ["derive", "env"] } self-github-update = { version = "0.39", features = [ "archive-tar", "compression-flate2", ] } # for log tracing = "0.1.40" tracing-subscriber = { version = "0.3.18", features = ["env-filter"] } # for http http = "1" hyper = { version = "1", features = ["http1", "server"] } hyper-util = { version = "0.1.3", features = ["full"] } http-body-util = "0.1" # for socks5 bytes = "1.6.0" pin-project-lite = "0.2" tokio-stream = "0.1.15" percent-encoding = "2.3.1" async-trait = "0.1.80" # for memory allocator tcmalloc = { version = "0.3.0", optional = true } snmalloc-rs = { version = "0.3.4", optional = true } rpmalloc = { version = "0.2.2", optional = true } jemallocator = { package = "tikv-jemallocator", version = "0.5.4", optional = true } mimalloc = { version = "0.1.39", default-features = false, optional = true } [target.'cfg(target_os = "linux")'.dependencies] sysctl = "0.5.5" rtnetlink = "0.14" netlink-packet-route = "0.19" futures = "0.3.30" [target.'cfg(target_family = "unix")'.dependencies] daemonize = "0.5.0" nix = { version = "0.29.0", features = ["user", "signal", "resource"] } sysinfo = { version = "0.30", default-features = false } [features] default = ["mimalloc"] jemalloc = ["jemallocator"] tcmalloc = ["tcmalloc/bundled"] snmalloc = ["snmalloc-rs"] rpmalloc = ["dep:rpmalloc"] mimalloc = ["dep:mimalloc"] [profile.release] lto = true opt-level = 'z' codegen-units = 1 strip = true panic = "abort"