pub struct StealthConfig {Show 23 fields
pub webgl_spoof: bool,
pub canvas_spoof: bool,
pub audio_spoof: bool,
pub human_mouse: bool,
pub human_typing: bool,
pub user_agent: Option<String>,
pub headless: bool,
pub chrome_path: Option<String>,
pub patch_binary: bool,
pub viewport_width: u32,
pub viewport_height: u32,
pub debug: bool,
pub debug_dir: Option<String>,
pub proxy: Option<String>,
pub user_data_dir: Option<String>,
pub proxy_username: Option<String>,
pub proxy_password: Option<String>,
pub cdp_timeout: u64,
pub timezone: Option<String>,
pub extra_args: Vec<String>,
pub aggressive_cdp_evasion: bool,
pub live_session: bool,
pub filter_cdp: bool,
}Expand description
Configuration for stealth features
Fields§
§webgl_spoof: boolSpoof WebGL renderer/vendor
canvas_spoof: boolSpoof canvas fingerprint
audio_spoof: boolSpoof audio fingerprint
human_mouse: boolUse human-like mouse movements
human_typing: boolUse human-like typing
user_agent: Option<String>Custom user agent (None = random realistic)
headless: boolHeadless mode
chrome_path: Option<String>Path to Chrome/Chromium binary
patch_binary: boolPatch Chrome binary to bypass detection
viewport_width: u32Viewport width
viewport_height: u32Viewport height
debug: boolDebug mode - log actions and save screenshots on error
debug_dir: Option<String>Directory for debug screenshots (defaults to current directory)
proxy: Option<String>Proxy server URL (e.g. “http://host:port”)
user_data_dir: Option<String>Durable Chrome user-data directory. When set, Eoka preserves the profile and its full fingerprint identity across browser launches.
proxy_username: Option<String>Proxy username for authenticated proxies
proxy_password: Option<String>Proxy password for authenticated proxies
cdp_timeout: u64CDP command timeout in seconds (default: 30, increase for slow proxies)
timezone: Option<String>IANA timezone (default: random from common US/EU timezones). Set to a specific value like “America/New_York” to control the timezone.
extra_args: Vec<String>Extra Chrome command-line arguments appended after standard stealth args. E.g. vec![“–use-fake-ui-for-media-stream”.into()] to auto-grant camera.
aggressive_cdp_evasion: boolEnable legacy, invasive CDP-marker hiding that proxies window.document
and patches Object reflection APIs. It can break modern SPAs, so it is
disabled by default. Prefer the normal WebDriver and fingerprint evasions.
live_session: boolTreat this as a session attached to a user-owned browser. When true,
Browser::new_page/new_blank_page/attach_page skip injecting the
evasion script. Defaults to false (set automatically by Browser::connect*).
filter_cdp: boolDrop “detectable” CDP commands like Runtime.enable silently.
Defaults to true. Set to false in connect mode to get full DevTools-like control.
Implementations§
Source§impl StealthConfig
impl StealthConfig
Sourcepub fn minimal() -> StealthConfig
pub fn minimal() -> StealthConfig
Create a minimal config (no spoofing, no patching)
Sourcepub fn visible() -> StealthConfig
pub fn visible() -> StealthConfig
Create a visible (non-headless) config
Sourcepub fn debug() -> StealthConfig
pub fn debug() -> StealthConfig
Create a debug config (visible, with logging)
Sourcepub fn live() -> StealthConfig
pub fn live() -> StealthConfig
Config tuned for attaching to a user-owned browser via Browser::connect*.
Disables anything that touches the user’s Chrome state:
live_session— no evasion script injection on attached tabsfilter_cdp = false— full DevTools-equivalent CDP accesspatch_binary = false— we don’t manage the binary- all spoofing off — the user’s browser already has its own fingerprint
Trait Implementations§
Source§impl Clone for StealthConfig
impl Clone for StealthConfig
Source§fn clone(&self) -> StealthConfig
fn clone(&self) -> StealthConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more