Skip to content

feat: add Camoufox browser runtime support#1902

Open
harshit0605 wants to merge 1 commit intounclecode:developfrom
harshit0605:feature/camoufox-runtime-support
Open

feat: add Camoufox browser runtime support#1902
harshit0605 wants to merge 1 commit intounclecode:developfrom
harshit0605:feature/camoufox-runtime-support

Conversation

@harshit0605
Copy link
Copy Markdown

@harshit0605 harshit0605 commented Apr 6, 2026

Summary

Adds optional Camoufox browser runtime support to Crawl4AI while keeping the PR scoped to the upstream-ready core runtime, docs, and tests.

  • introduces browser_runtime="camoufox" and camoufox_options on BrowserConfig
  • integrates Camoufox launch and persistent-context flows into BrowserManager
  • validates unsupported combinations up front, including persistent Camoufox + storage_state
  • adds documentation, examples, and focused regression/unit coverage for the new runtime
  • intentionally excludes Docker and Coolify deployment changes so the review stays focused on the library/runtime contribution

List of files changed and why

  • crawl4ai/async_configs.py, crawl4ai/async_crawler_strategy.py, crawl4ai/browser_manager.py - add the Camoufox runtime path, config validation, and runtime-specific browser handling.
  • pyproject.toml, uv.lock - add the optional Camoufox extra and refresh the lockfile.
  • docs/examples/camoufox_example.py, docs/examples/camoufox_proxy_example.py - add runnable examples for dedicated, persistent, and proxy-backed Camoufox usage.
  • docs/md_v2/advanced/camoufox-browser.md, docs/md_v2/core/browser-crawler-config.md, docs/md_v2/core/examples.md, mkdocs.yml - document the runtime, surface it in navigation, and link the new examples.
  • tests/unit/test_camoufox_runtime.py, tests/regression/test_reg_camoufox.py - cover runtime validation/launch behavior and exercise the integration path with tighter skip conditions for missing local runtime prerequisites.

How Has This Been Tested?

  • uv run --with pytest --with pytest-asyncio pytest -q tests/unit/test_camoufox_runtime.py tests/regression/test_reg_camoufox.py

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • I have added/updated unit tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes

@harshit0605 harshit0605 marked this pull request as ready for review April 6, 2026 17:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant