Cargo Features

[dependencies]
hypertor = { version = "0.2.2", default-features = false, features = ["client", "full", "intercept", "native-tls", "rustls", "http2", "padding", "static-sqlite", "python"] }
default = client, rustls

SECURITY: rustls is the default for consistent TLS fingerprinting across platforms native-tls uses different implementations per OS (OpenSSL/SecureTransport/SChannel)
which can leak platform information and has had compatibility issues with Tor streams

client default full?

Core features

full = client, http2, intercept, padding, python, rustls, server
server intercept full?
native-tls

TLS backends (pick one - rustls recommended for anonymity)
rustls: Pure Rust, consistent fingerprint, memory-safe, recommended native-tls: Uses OS TLS stack, may have platform-specific issues

Enables tokio-native-tls

TLS backends (feature-gated)

and native-tls of arti-client ^0.38

Tor - using arti (pure Rust implementation)
SECURITY: Always use latest versions for security patches Features enabled:
- tokio: async runtime
- native-tls: TLS support
- onion-service-client: connect to .onion addresses
- onion-service-service: host .onion services
- pt-client: pluggable transports for censorship circumvention
- vanguards: path selection hardening
- keymgr: secure key management (required for client auth)
- restricted-discovery: client authorization for onion services
- hs-pow-full: proof-of-work with Equi-X (full implementation)
- geoip: geographic exit selection
- bridge-client: bridge relay support
- compression: directory compression
NOTE: TLS backend (native-tls/rustls) is controlled via hypertor features, not here

and native-tls of tokio-tungstenite ^0.28 and tor-rtcompat ^0.38

tokio-tungstenite:

WebSocket support - tokio-tungstenite for real WebSocket over Tor TLS backend is feature-gated to match the library's TLS configuration

Affects tls::wrap_tls_native

rustls default full?

Enables rustls-native-certs and tokio-rustls, rustls of arti-client ^0.38, rustls-tls-webpki-roots of tokio-tungstenite ^0.28, rustls of tor-rtcompat ^0.38

Affects tls::wrap_tls_rustls

http2 full?

HTTP versions

padding full?

Privacy features

static-sqlite

Static linking (useful for Windows where system SQLite isn't available)

Enables static-sqlite of arti-client ^0.38

python full?

Python bindings

Enables pyo3 ^0.27 and pyo3-async-runtimes ^0.27

pyo3:

Python bindings (feature-gated)

Affects hypertor::python