Cargo Features

[dependencies]
product-os-proxy = { version = "0.0.15", default-features = false, features = ["decoder", "http2", "openssl_ca", "rcgen_ca", "rustls_client", "tor", "vpn", "vendored_openssl", "hyper-tls"] }
default = decoder, rcgen_ca, rustls_client

These default features are set whenever product-os-proxy is added without default-features = false somewhere in the dependency tree.

decoder default

Enables async-compression, tokio-util, io-util of tokio

http2

Enables optional hyper-rustls, http2 of hyper

openssl_ca = openssl

Enables moka

rcgen_ca default

Enables moka, rand ^0.8.5, rcgen, and time

rustls_client default

Enables hyper-rustls, rustls-tls-webpki-roots of tokio-tungstenite

tor = arti-client, tor-rtcompat

Enables arti-client

Affects internal::InternalProxy.tor_client

vpn = product-os-vpn

Affects mitm::HttpHandler.handle_product_os_response, internal::InternalProxy.vpn_client

vendored_openssl

Enables vendored of openssl

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

Based on hudsucker

hyper-tls implicit feature

Enables hyper-tls

hyper-tls:

Default TLS implementation for use with hyper

openssl openssl_ca? vendored_openssl?
arti-client tor?
tor-rtcompat tor?
product-os-vpn vpn?