Behavioural stealth: a click that teleports the cursor to an element's exact centre with no approach path and zero press/release delay is a tell that advanced anti-bot vendors (Akamai/PerimeterX/DataDome) flag, even though our CDP events are isTrusted. New `native::humanize` module — pure, unit-tested motion maths (cubic-Bézier eased trajectories, in-bounds landing jitter, variable keystroke cadence, and an anti-bot vendor detector) plus a small daemon-wide runtime (current level + last cursor + per-action seed). `dispatch_click` now moves along a curved, decelerating path from the last cursor position and dwells before releasing. Three levels off|fast|human. Default is Off → byte-for-byte the old teleport, so nothing changes until opted in. `AGENT_BROWSER_HUMANIZE=human` forces it now; the adaptive per-navigation detector (set_detected_level) and type/wheel/drag coverage land next. 8/8 unit tests; fmt + clippy clean.
58 lines
1.0 KiB
Rust
58 lines
1.0 KiB
Rust
#[allow(dead_code)]
|
|
pub mod actions;
|
|
#[allow(dead_code)]
|
|
pub mod adaptive;
|
|
#[allow(dead_code)]
|
|
pub mod auth;
|
|
#[allow(dead_code)]
|
|
pub mod browser;
|
|
#[allow(dead_code)]
|
|
pub mod cdp;
|
|
#[allow(dead_code)]
|
|
pub mod cookies;
|
|
#[allow(dead_code)]
|
|
pub mod daemon;
|
|
#[allow(dead_code)]
|
|
pub mod diff;
|
|
#[allow(dead_code)]
|
|
pub mod element;
|
|
#[allow(dead_code)]
|
|
pub mod humanize;
|
|
#[allow(dead_code)]
|
|
pub mod inspect_server;
|
|
#[allow(dead_code)]
|
|
pub mod interaction;
|
|
#[allow(dead_code)]
|
|
pub mod network;
|
|
#[allow(dead_code)]
|
|
pub mod policy;
|
|
#[allow(dead_code)]
|
|
pub mod providers;
|
|
#[allow(dead_code)]
|
|
pub mod react;
|
|
#[allow(dead_code)]
|
|
pub mod recording;
|
|
#[allow(dead_code)]
|
|
pub mod relay;
|
|
#[allow(dead_code)]
|
|
pub mod screenshot;
|
|
#[allow(dead_code)]
|
|
pub mod snapshot;
|
|
#[allow(dead_code)]
|
|
pub mod state;
|
|
#[allow(dead_code)]
|
|
pub mod stealth;
|
|
#[allow(dead_code)]
|
|
pub mod storage;
|
|
#[allow(dead_code)]
|
|
pub mod stream;
|
|
#[allow(dead_code)]
|
|
pub mod tracing;
|
|
#[allow(dead_code)]
|
|
pub mod webdriver;
|
|
|
|
#[cfg(test)]
|
|
mod e2e_tests;
|
|
#[cfg(test)]
|
|
mod parity_tests;
|