g3/g3proxy/Cargo.toml
2023-09-01 22:34:23 +08:00

101 lines
3.5 KiB
TOML

[package]
name = "g3proxy"
version = "1.7.23"
license.workspace = true
edition.workspace = true
rust-version = "1.72.0"
description = "G3 generic proxy"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow.workspace = true
thiserror.workspace = true
async-trait.workspace = true
async-recursion.workspace = true
clap.workspace = true
clap_complete.workspace = true
yaml-rust.workspace = true
once_cell.workspace = true
futures-util.workspace = true
nix.workspace = true
rand.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread", "rt", "signal", "sync", "time", "io-util", "net", "fs"] }
tokio-util = { workspace = true, features = ["time"] }
tokio-rustls.workspace = true
rustls.workspace = true
tokio-openssl.workspace = true
openssl.workspace = true
openssl-probe = { workspace = true, optional = true }
indexmap.workspace = true
bytes.workspace = true
chrono = { workspace = true, features = ["clock"] }
uuid = { workspace = true, features = ["v4"] }
log = { workspace = true, features = ["max_level_trace", "release_max_level_info"] }
slog = { workspace = true, features = ["nested-values", "max_level_trace", "release_max_level_info"] }
percent-encoding.workspace = true
url.workspace = true
http.workspace = true
h2.workspace = true
mime.workspace = true
serde_json.workspace = true
ip_network.workspace = true
ip_network_table.workspace = true
radix_trie.workspace = true
base64.workspace = true
pin-project.workspace = true
memchr.workspace = true
arc-swap.workspace = true
capnp-rpc.workspace = true
capnp.workspace = true
itoa.workspace = true
redis = { workspace = true, features = ["aio", "tokio-comp", "cluster-async"] }
ascii.workspace = true
ahash.workspace = true
governor = { workspace = true, features = ["std", "jitter"] }
cadence.workspace = true
rmpv.workspace = true
mlua = { workspace = true, features = ["send"], optional = true }
pyo3 = { workspace = true, features = ["auto-initialize"], optional = true }
g3-compat.workspace = true
g3-types = { workspace = true, features = ["auth-crypt", "rustls", "openssl", "acl-rule", "http", "route", "async-log", "json"] }
g3-socket.workspace = true
g3-daemon.workspace = true
g3-signal.workspace = true
g3-datetime.workspace = true
g3-statsd.workspace = true
g3-slog-types = { workspace = true, features = ["http"] }
g3-yaml = { workspace = true, features = ["resolve", "rustls", "openssl", "acl-rule", "http", "ftp-client", "proxy", "route", "dpi", "icap"] }
g3-json = { workspace = true, features = ["acl-rule", "resolve", "http", "rustls", "openssl", "proxy"] }
g3-msgpack.workspace = true
g3-io-ext.workspace = true
g3-resolver = { workspace = true, features = ["trust-dns"] }
g3-xcrypt.workspace = true
g3-ftp-client.workspace = true
g3-http.workspace = true
g3-h2.workspace = true
g3-socks.workspace = true
g3-dpi.workspace = true
g3-tls-cert.workspace = true
g3-icap-client.workspace = true
g3proxy-proto = { path = "proto" }
[dev-dependencies]
tokio = { workspace = true, features = ["macros", "io-util"] }
tokio-util = { workspace = true, features = ["io"] }
[build-dependencies]
rustc_version.workspace = true
[features]
default = ["lua54", "python", "c-ares"]
lua = ["mlua"]
luajit = ["lua", "mlua/luajit"]
lua51 = ["lua", "mlua/lua51"]
lua53 = ["lua", "mlua/lua53"]
lua54 = ["lua", "mlua/lua54"]
python = ["pyo3"]
c-ares = ["g3-resolver/c-ares"]
vendored-openssl = ["openssl/vendored", "dep:openssl-probe"]
vendored-tongsuo = ["openssl/tongsuo", "dep:openssl-probe"]
vendored-c-ares = ["c-ares", "g3-resolver/vendored-c-ares"]