Cargo Features

[dependencies]
rusty-penguin = { version = "0.6.0", default-features = false, features = ["rustls-webpki-roots", "rustls-native-roots", "nativetls", "tests-real-internet4", "tests-real-internet6", "tests-acme-has-pebble", "default-is-ipv6", "tokio-console", "remove-logging", "deadlock-detection", "acme", "penguin-binary"] }
default = acme, penguin-binary, rustls-native-roots, tests-real-internet4

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

rustls-webpki-roots

Note that it does not make sense to use more than one TLS implementations at the same time, but there must be at least one if penguin-binary is enabled.

Enables webpki-roots, rustls, rustls-pemfile, and tokio-rustls, rustls-tls-webpki-roots of reqwest, rustls-tls-webpki-roots of tokio-tungstenite

rustls-native-roots default

Enables rustls, rustls-native-certs, rustls-pemfile, and tokio-rustls, rustls-tls-native-roots of reqwest, rustls-tls-native-roots of tokio-tungstenite

nativetls

Enables tokio-native-tls, native-tls of tokio-tungstenite and native-tls of reqwest

reqwest:

Enables native-tls specific functionality not available by default.

tests-real-internet4 default

Allow some tests that require real internet connection

tests-real-internet6
tests-acme-has-pebble = acme

Test the ACME client with a local ACME server at https://localhost:14000/dir

default-is-ipv6

Set the default localhost or unspecified address to IPv6

tokio-console

Enabling this causes penguin to listen for tokio-console connections

Enables console-subscriber

remove-logging

Statically remove some logging code. This breaks tokio-console

Enables max_level_trace and release_max_level_debug of tracing

deadlock-detection

parking_lot's deadlock detection in a separate thread

Enables deadlock_detection of parking_lot, parking_lot of tokio

acme default tests-acme-has-pebble? = penguin-binary

obtaining certificate automatically using ACME protocol

Enables instant-acme and rcgen, process of tokio

Affects arg::ServerArgs.tls_domain, arg::ServerArgs.tls_acme_url, arg::ServerArgs.tls_acme_email, arg::ServerArgs.tls_acme_accept_tos, arg::ServerArgs.tls_acme_challenge_helper, server::acme, tls::make_tls_identity_from_rcgen_pem, tls::reload_tls_identity_from_rcgen_pem, native::make_server_config_from_rcgen_pem, rustls::make_server_config_from_rcgen_pem

penguin-binary default acme

penguin binary

Enables tokio-tungstenite and tracing-subscriber, arc-swap, base64, clap, http-body-util, hyper, hyper-util, reqwest, and sha1, fs, io-std, net, rt-multi-thread and signal of tokio

Required by the penguin binary