Cargo Features

[dependencies]
lychee-lib = { version = "0.17.0", default-features = false, features = ["email-check", "native-tls", "rustls-tls", "vendored-openssl", "check_example_domains"] }
email-check default = check-if-email-exists

Enable checking email addresses. Requires the native-tls feature.

native-tls default = openssl-sys

Use platform-native TLS.

Enables native-tls of reqwest

Use trust-dns to avoid lookup failures on high concurrency https://github.com/seanmonstar/reqwest/issues/296

rustls-tls

Use Rustls TLS.

Enables rustls-tls-native-roots of reqwest

vendored-openssl

Compile and statically link a copy of OpenSSL.

Enables vendored of openssl-sys

check_example_domains

Feature flag to include checking reserved example domains as per RFC 2606, section 3. This flag is off by default and only exists to allow example domains in integration tests, which don't respect #[cfg(test)]. See https://users.rust-lang.org/t/36630

default = email-check, native-tls

These default features are set whenever lychee-lib is added without default-features = false somewhere in the dependency tree.

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.

check-if-email-exists email-check
openssl-sys native-tls vendored-openssl?