Skip to main content

runtime_foxdriver/
lib.rs

1//! Firefox browser automation via WebDriver BiDi (rustenium).
2//!
3//! This crate provides a spawn-capable Firefox runtime: launch, drive,
4//! evaluate, click, type, scroll, screenshot, cookies, and frames.
5//! It is intentionally **independent** of `guise` (the stealth substrate)
6//! so the fleet's layering stays one-way: guise may depend on foxdriver
7//! for its `browser` feature, but foxdriver knows nothing about stealth
8//! profiles, fingerprint bundles, or TLS impersonation.
9//!
10//! Consumers that need stealth should use `guise::browser` (which wraps
11//! foxdriver with profile application) rather than using foxdriver directly.
12
13#![forbid(unsafe_code)]
14
15pub mod browser;
16pub mod cookies;
17pub mod dialog;
18pub mod frame;
19pub mod frame_graph;
20pub mod network;
21pub mod runtime;
22pub mod sensors;
23
24// Re-export the most common types at the crate root for ergonomics.
25pub use browser::{
26    launch_firefox, launch_firefox_self_managed, proxy_prefs, Element, EvaluationResult,
27    FoxBrowserConfig, FrameId, FrameInfo, FrameTreeNode, Page, ProxyConfig, ProxyScheme,
28    ScrollDirection,
29};
30pub use cookies::CapturedCookie;
31pub use dialog::{CapturedDialog, CapturedDownload, DialogLog};
32pub use frame_graph::{FrameGraph, FrameNode};
33pub use network::{
34    CapturedHeader, CapturedRequest, CapturedResponse, Filter, NetworkEntry, NetworkLog,
35};
36pub use runtime::drive_browser;