eggress-cli 1.0.3

CLI binary for the eggress multi-protocol proxy
# 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 = "2021"
rust-version = "1.85"
name = "eggress-cli"
version = "1.0.3"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "CLI binary for the eggress multi-protocol proxy"
readme = "README.md"
keywords = [
    "proxy",
    "cli",
    "pproxy",
    "command-line",
]
categories = [
    "network-programming",
    "command-line-utilities",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/eggstack/eggress"

[features]
common = ["eggress-runtime/common"]
default = ["full"]
extended = ["eggress-runtime/extended"]
full = [
    "common",
    "extended",
    "operations",
    "reverse",
    "pproxy-compat",
]
insecure-quic = [
    "eggress-runtime/insecure-quic",
    "eggress-transport-quic/insecure-quic",
]
legacy-crypto = [
    "eggress-runtime/legacy-crypto",
    "eggress-pproxy-compat/legacy-crypto",
]
operations = [
    "dep:eggress-system-proxy",
    "eggress-runtime/operations",
]
pproxy-compat = ["dep:eggress-pproxy-compat"]
pproxy-daemon = [
    "pproxy-compat",
    "eggress-pproxy-compat/daemon",
]
pproxy-legacy = ["eggress-runtime/pproxy-legacy"]
quic = [
    "eggress-config/quic",
    "eggress-runtime/quic",
    "eggress-pproxy-compat/quic",
    "dep:eggress-transport-quic",
    "dep:eggress-protocol-h3",
]
reverse = ["eggress-runtime/reverse"]
ssh = [
    "eggress-runtime/ssh",
    "eggress-pproxy-compat/ssh",
]

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

[[bin]]
name = "eggress"
path = "src/main.rs"

[[bin]]
name = "pproxy"
path = "src/pproxy_main.rs"
required-features = ["pproxy-compat"]

[[test]]
name = "advanced_transport_interop"
path = "tests/advanced_transport_interop.rs"

[[test]]
name = "cli_exit_codes"
path = "tests/cli_exit_codes.rs"

[[test]]
name = "cli_tests"
path = "tests/cli_tests.rs"

[[test]]
name = "differential_pproxy"
path = "tests/differential_pproxy.rs"

[[test]]
name = "feature_boundary_negative"
path = "tests/feature_boundary_negative.rs"

[[test]]
name = "integration"
path = "tests/integration.rs"

[[test]]
name = "interoperability_curl"
path = "tests/interoperability_curl.rs"

[[test]]
name = "interoperability_pproxy"
path = "tests/interoperability_pproxy.rs"

[[test]]
name = "interoperability_shadowsocks"
path = "tests/interoperability_shadowsocks.rs"

[[test]]
name = "interoperability_trojan"
path = "tests/interoperability_trojan.rs"

[[test]]
name = "oracle"
path = "tests/oracle.rs"

[[test]]
name = "pproxy_binary"
path = "tests/pproxy_binary.rs"

[[test]]
name = "pproxy_cli"
path = "tests/pproxy_cli.rs"

[[test]]
name = "pproxy_differential"
path = "tests/pproxy_differential.rs"

[[test]]
name = "pproxy_run_process"
path = "tests/pproxy_run_process.rs"

[[test]]
name = "pproxy_translation_golden"
path = "tests/pproxy_translation_golden.rs"

[[test]]
name = "reply_order"
path = "tests/reply_order.rs"

[dependencies.clap]
version = "4"
features = ["derive"]

[dependencies.eggress-config]
version = "=1.0.3"

[dependencies.eggress-core]
version = "=1.0.3"

[dependencies.eggress-metrics]
version = "=1.0.3"
default-features = false

[dependencies.eggress-pproxy-compat]
version = "=1.0.3"
optional = true

[dependencies.eggress-protocol-h3]
version = "=1.0.3"
optional = true
default-features = false

[dependencies.eggress-protocol-http]
version = "=1.0.3"

[dependencies.eggress-protocol-socks]
version = "=1.0.3"

[dependencies.eggress-routing]
version = "=1.0.3"

[dependencies.eggress-runtime]
version = "=1.0.3"
default-features = false

[dependencies.eggress-server]
version = "=1.0.3"
default-features = false

[dependencies.eggress-system-proxy]
version = "=1.0.3"
optional = true

[dependencies.eggress-transport-quic]
version = "=1.0.3"
optional = true
default-features = false

[dependencies.eggress-uri]
version = "=1.0.3"

[dependencies.http]
version = "1"

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.tokio]
version = "1"
features = [
    "rt",
    "rt-multi-thread",
    "macros",
    "net",
    "io-util",
    "sync",
    "time",
    "signal",
    "fs",
]

[dependencies.tokio-util]
version = "0.7"
features = ["rt"]

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
version = "0.3"
features = [
    "env-filter",
    "json",
]

[dev-dependencies.assert_cmd]
version = "2"

[dev-dependencies.base64]
version = "0.22"

[dev-dependencies.eggress-protocol-http]
version = "=1.0.3"

[dev-dependencies.eggress-protocol-shadowsocks]
version = "=1.0.3"

[dev-dependencies.eggress-protocol-socks]
version = "=1.0.3"

[dev-dependencies.eggress-protocol-trojan]
version = "=1.0.3"

[dev-dependencies.eggress-routing]
version = "=1.0.3"

[dev-dependencies.eggress-testkit]
version = "=1.0.3"

[dev-dependencies.eggress-transport-tls]
version = "=1.0.3"
features = ["insecure-tls"]

[dev-dependencies.eggress-udp]
version = "=1.0.3"
default-features = false

[dev-dependencies.predicates]
version = "3"

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

[dev-dependencies.rcgen]
version = "0.13"

[dev-dependencies.rustls]
version = "0.23"
features = [
    "ring",
    "std",
    "tls12",
]
default-features = false

[dev-dependencies.tempfile]
version = "3"

[dev-dependencies.tokio-rustls]
version = "0.26"
features = ["tls12"]
default-features = false

[dev-dependencies.toml]
version = "0.8"

[lints.clippy.all]
level = "warn"
priority = -1

[lints.rust]
unsafe_code = "deny"