This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
Fused Gaming Ignition (ignition) is a Rust-based fork of chromiumoxide specialized for hardened browser automation on the Fused Gaming platform. It provides protocol-level stealth modifications to the Chrome DevTools Protocol (CDP) client to reduce the detection footprint of automated browser sessions on:
- stakereload.com
- stakereloadxs.com
- gambareload.com
# Build the project
cargo build
# Run unit tests (library only)
cargo test --lib
# Run integration tests (requires Chrome/Chromium installed)
RUST_TEST_THREADS=1 cargo test --test '*'
# Run a specific test
cargo test --lib test_name
# Format code
cargo fmt
# Run lints (CI requires no warnings)
cargo clippy --all -- -D warnings
# Check examples compile
cargo check --examples --features tokio-runtime,bytes
# Run an example
cargo run --example fused_gaming
cargo run --example stealth_bot
cargo run --example profile_demoThis is a Cargo workspace with multiple crates:
ignition(root) - Main library with stealth automation APIchromiumoxide_cdp- Generated CDP protocol definitions (~60K lines, generated at build time)chromiumoxide_pdl- PDL (Protocol Definition Language) parser for generating CDP bindingschromiumoxide_types- Shared types across crateschromiumoxide_fetcher- Optional browser binary fetcher
-
IgnitionPage(src/ignition.rs) - High-level stealth wrapper aroundPage- Stealth JS execution via
Page.createIsolatedWorld(avoidsRuntime.enabledetection) - Human-like input simulation (Bezier mouse curves, variable typing delays)
- Request interception via Fetch domain
- Access underlying
Pageviaraw_page()
- Stealth JS execution via
-
IgnitionProfile(src/profiles.rs) - Browser fingerprint profiles- Builder pattern for customizing OS, GPU, hardware specs
- Generates User-Agent and bootstrap JS script for spoofing
- Presets:
fused_gaming(),windows(),linux(),macos_arm(),macos_intel()
-
Page(src/page.rs) - Base CDP page abstraction (from chromiumoxide)enable_stealth_mode()- Quick stealth setup with sensible defaults- Standard CDP operations (navigate, screenshot, cookies, etc.)
-
StealthProfiletrait (src/stealth.rs) - Legacy trait-based profile system- Pre-built profiles:
WindowsNvidiaProfile,MacOSProfile,LinuxProfile
- Pre-built profiles:
-
Stealth execution:
IgnitionPage.evaluate()usesPage.createIsolatedWorldto run JS without triggeringRuntime.enable, which anti-bots detect. The regularPage.evaluate()triggers detection. -
Profile consistency: All fingerprint values (User-Agent, platform, WebGL, hardware) must be internally consistent. A Windows UA with MacOS platform is immediately flagged.
-
Properties on prototypes: Stealth overrides are set on
Navigator.prototyperather thannavigatorinstance to avoidgetOwnPropertyNamesdetection.
Default features use tokio. For async-std:
cargo build --features async-std-runtime --no-default-features// 1. Create Fused Gaming profile (or custom)
let profile = IgnitionProfile::fused_gaming().build();
// 2. Launch browser
let (browser, mut handler) = Browser::launch(BrowserConfig::builder().build()?).await?;
tokio::spawn(async move { while let Some(_) = handler.next().await {} });
// 3. Create page and wrap
let page = browser.new_page("about:blank").await?;
let ignition = IgnitionPage::new(page);
// 4. Apply profile BEFORE navigation
ignition.apply_profile(&profile).await?;
// 5. Navigate and interact
ignition.goto("https://stakereload.com").await?;
let title: Option<Value> = ignition.evaluate("document.title").await?;MSRV is 1.75 (checked in CI).