reqwest_proxy 0.1.7

Seamlessly proxy reqwest traffic through Shadowsocks, Hysteria2, and more. / 通过 Shadowsocks、Hysteria2 等多种协议无缝代理 reqwest 流量。
[package]
name = "reqwest_proxy"
version = "0.1.7"
edition = "2024"
license = "MulanPSL-2.0"
repository = "https://github.com/i18n-site/rust.git"
homepage = "https://github.com/i18n-site/rust/tree/dev/reqwest_proxy"
description = "Seamlessly proxy reqwest traffic through Shadowsocks, Hysteria2, and more. / 通过 Shadowsocks、Hysteria2 等多种协议无缝代理 reqwest 流量。"
keywords = ["reqwest", "proxy", "middleware", "shadowsocks", "hysteria2"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
thiserror = "2"
tower = "0.5"
bytes = "1.10.1"
futures-util = "0.3.31"
async-stream = "0.3.6"

[dependencies.uri_to_host_port]
version = "0.1.4"
path = "../uri_to_host_port"

[dependencies.pastey]
version = "0.1"
optional = true

[dependencies.tokio-util]
version = "0.7.16"
features = ["compat"]

[dependencies.hyper-util]
version = "0.1.17"
features = ["client-legacy", "tokio"]

[dependencies.shadowsocks]
version = "1"
features = ["stream-cipher", "aead-cipher", "aead-cipher-2022"]
optional = true

[dependencies.hysteria2]
path = "../hysteria2"
version = "0.1.6"
optional = true

[dependencies.tokio]
version = "1.47.1"
features = ["net", "io-util"]

[dependencies.http-body-util]
version = "0.1.3"
optional = true

[dependencies.anyhow]
version = "1.0.100"
optional = true

[dependencies.reqwest-middleware]
version = "0.4.2"
optional = true

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

[dependencies.http]
version = "1.3.1"
optional = true

[dependencies.hyper-tls]
version = "0.6.0"
optional = true

[dependencies.hyper]
version = "1.7.0"
features = ["client", "http1", "http2"]

[dependencies.reqwest]
version = "0.12.23"
features = ["json", "stream"]

[dev-dependencies]
static_init = "1.0.4"
tower-reqwest = "0.5.3"
regex = "1.11.3"
percent-encoding = "2.3.2"
log = "0.4.28"
futures = "0.3.31"

[dev-dependencies.rustls]
version = "0.23.32"
features = ["aws-lc-rs"]

[dev-dependencies.log_init]
version = "0.1.25"
path = "../log_init"

[dev-dependencies.url_fmt]
path = "../url_fmt"
version = "0.1.3"

[dev-dependencies.tokio]
version = "1.47.1"
features = ["macros", "rt", "rt-multi-thread", "time", "sync"]

[features]
default = ["reqwest"]
reqwest = [
  "dep:anyhow",
  "dep:reqwest-middleware",
  "dep:async-trait",
  "dep:http-body-util",
  "dep:http",
  "dep:hyper-tls",
]
protocol = ["dep:pastey"]
shadowsocks = ["protocol", "dep:shadowsocks"]
hysteria2 = ["protocol", "dep:hysteria2"]
full = ["reqwest", "shadowsocks", "hysteria2"]