# Introduction

A stealthy, minimalistic, custom build of Firefox for web scraping 🦊

Camoufox aims to be a minimalistic browser for robust fingerprint injection & anti-bot evasion.


# Features

  • Invisible to all anti-bot systems 🎭
    • Camoufox performs better than most commerical anti-bot browsers.
  • Fingerprint injection & rotation (without JS injection!)
    • All navigator properties (device, OS, hardware, browser, etc.)
    • Screen size, resolution, window, & viewport properties
    • Geolocation, timezone, locale, & Intl spoofing
    • Font spoofing & anti-fingerprinting
    • WebGL parameters, supported extensions, context attributes, & shader precision formats
    • WebRTC IP spoofing at the protocol level
    • Voices, speech playback rate, etc.
    • And much, much more!
  • Quality of life features
    • Human-like mouse movement 🖱️
    • Blocks & circumvents ads 🛡️
    • No CSS animations 💨
  • Debloated & optimized for memory efficiency
  • PyPi package for updates & auto fingerprint injection 📦
  • Stays up to date with the latest Firefox version 🕓

Get started
python/


# Design and Implementation

The goal of Camoufox is to provide a robust, undetectable anti-fingerprinting solution that blends in with regular user traffic.

Privacy-focused browsers and add-ons often become counterproductive by making users more identifiable through detectable modifications or JavaScript inspection. This, ironically, makes the user stand out by creating unique fingerprints, making them more susceptible to be tracked or flagged by anti-bot systems.

Camoufox solves this by operating at a lower level, using fingerprint rotation and crowdblending techniques by modifying device information in the C++ implementation instead of injecting JavaScript, which leaves a trail. Built on Firefox and research from the Tor project, LibreWolf, and Arkenfox, Camoufox aims to avoid common user identification methods to provide a robust, undetectable anti-fingerprinting.

A design goal of Camoufox is to blend in with real world traffic. It must behave like a normal user and avoid all statistical fingerprinting, meaning there should not be thousands of requests using the same device information on a large scale.

To achieve this, Camoufox uses BrowserForge to rotate device information such as the screen, OS, and hardware to mimic the statistical distribution of device characteristics in real-world traffic. Additionally, Camoufox uses a natural mouse movement algorithm to behave like a normal user.

Finally, Camoufox should avoid all bot detection, of any kind, by any means. It should not inject any JavaScript into the page or manipulate the DOM in any way.

In Camoufox, all of Playwright's internal Page Agent Javascript is sandboxed and isolated from the main world. This makes it impossible for a page to detect the presence of Playwright/Juggler. In addition, data is intercepted at the C++ implementation level, making the changes undetectable through JavaScript inspection.

Camoufox is built on top of Firefox instead of Chromium for three main reasons:

  1. CDP is more widely used and known, so it's a more common target for bot detection
  2. Juggler operates on a lower level than CDP, making it less prone to JS leaks.
  3. Firefox is more ideal for fingerprint rotation. More research has been made on Firefox for fingerprinting resistance than on Chromium.
  • Continue research on potential leaks
  • AI powered selector location
  • Remote hosting Camoufox as a Playwright server