Struct FingerprintBuilder

Source
pub struct FingerprintBuilder { /* private fields */ }
Expand description

A builder for constructing a Fingerprint with customizable configurations. The builder allows specific aspects of the TLS fingerprint to be overridden, ensuring that the final crate::ClientConfig and ClientHello align with desired specifications or testing conditions.

Implementations§

Source§

impl FingerprintBuilder

Source

pub fn do_not_override_alpn(self) -> Self

Disables the overriding of the ALPN settings. Use this option when working with HTTP clients, such as hyper, that internally manage ALPN settings; they may raise issues if ALPN is set externally. While this option skips setting ALPN, it still validates the ALPN during TLS handshakes against expected values. Non-compliance will lead to a panic, ensuring adherence to the specified ALPN requirements.

Source

pub fn dangerous_disable_override_keyshare(self) -> Self

Disables the override of key share configurations. Intended only for testing purposes, this option allows the default key share behavior to be used, bypassing the key share settings specified in the Fingerprint. This can help in testing scenarios where non-standard key share configurations are to be evaluated or default behavior is required.

Source

pub fn dangerous_disable_override_suite(self) -> Self

Disables the override of cipher suites. Intended only for testing purposes

Source

pub fn dangerous_craft_test_mode(self) -> Self

Enters a craftls test mode that disables various overrides and strict checking against the Fingerprint. This mode is intended for testing and should be used with caution as it relaxes the constraints normally enforced by the builder, potentially allowing configurations that deviate from the specified Fingerprint. This can be useful for testing how the system behaves under non-standard or unexpected configurations.

Trait Implementations§

Source§

impl Clone for FingerprintBuilder

Source§

fn clone(&self) -> FingerprintBuilder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FingerprintBuilder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V