Cargo Features
[dependencies]
rusty-penguin = { version = "0.7.0", default-features = false, features = ["rustls-webpki-roots", "rustls-native-roots", "nativetls", "dev-dependencies", "tests-real-internet4", "tests-real-internet6", "tests-udp", "tests-acme-has-pebble", "default-is-ipv6", "rustls-keylog", "tokio-console", "remove-logging", "deadlock-detection", "acme", "tungstenite", "penguin-binary"] }
- default = acme, penguin-binary, rustls-native-roots, tests-real-internet4, tests-udp, tungstenite
-
These default features are set whenever
rusty-penguin
is added without
somewhere in the dependency tree.default-features = false - 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 ^0.26, 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.
- dev-dependencies
-
Dependencies for testing
Enables rcgen, io-util, net and rt-multi-thread of tokio, env-filter of tracing-subscriber
- tests-real-internet4 default
-
Allow some tests that require real internet connection
- tests-real-internet6
- tests-udp default
-
Allow some tests that uses UDP sockets. They may be flaky depending on the network environment.
- 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
- rustls-keylog
-
Export key logs to a file specified via env SSLKEYLOGFILE
Enables rustls, rustls-pemfile, and tokio-rustls
- tokio-console
-
Enabling this causes
penguin
to listen fortokio-console
connectionsEnables console-subscriber
- remove-logging
-
Statically remove some logging code. This breaks
tokio-console
Enables max_level_trace and release_max_level_debug of log and tracing
- deadlock-detection
-
parking_lot
's deadlock detection in a separate threadEnables deadlock_detection of parking_lot
- 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
… - tungstenite default penguin-binary
-
use tungstenite as the WebSocket implementation
Enables tokio-tungstenite
- penguin-binary default acme = tungstenite
-
penguin
binaryEnables tokio-tungstenite and tracing-subscriber, arc-swap, base64, clap, http-body-util, hyper, hyper-util, reqwest, and sha1, fs, io-std, io-util, net, rt-multi-thread and signal of tokio
Required by the penguin binary
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.