Camoufox Python Interface
Lightweight wrapper around the Playwright API to help launch Camoufox.
Note
All the the latest documentation is avaliable here.
What is this?
This Python library wraps around Playwright's API to help automatically generate & inject unique device characteristics (OS, CPU info, navigator, fonts, headers, screen dimensions, viewport size, WebGL, addons, etc.) into Camoufox.
It uses BrowserForge under the hood to generate fingerprints that mimic the statistical distribution of device characteristics in real-world traffic.
In addition, it will also calculate your target geolocation, timezone, and locale to avoid proxy protection (see demo).
Installation
First, install the camoufox package:
pip install -U camoufox[geoip]
The geoip parameter is optional, but heavily recommended if you are using proxies. It will download an extra dataset to determine the user's longitude, latitude, timezone, country, & locale.
Next, download the Camoufox browser:
Windows
camoufox fetch
MacOS & Linux
python3 -m camoufox fetch
To uninstall, run camoufox remove.
Installing browser versions
UI Manager
To use the gui, install the needed library:
pip install 'camoufox[gui]'
CLI Commands
See help message
$ python -m camoufox --help
Usage: python -m camoufox [OPTIONS] COMMAND [ARGS]...
╭─ Options ─────────────────────────────────────────────────────────────────────────╮
│ --help Show this message and exit. │
╰───────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ────────────────────────────────────────────────────────────────────────╮
│ active Print the current active version │
│ fetch Install the active version, or a specific version. │
│ gui Launch the Camouman GUI (requires PySide6) │
│ list List Camoufox versions. │
│ path Print the install directory path │
│ remove Remove installed version(s) │
│ Or, pass a specifier to remove directly: │
│ camoufox remove official/stable/134.0.2-beta.20 │
│ server Launch a Playwright server │
│ set Interactive selector for versions and settings │
│ Or, pass a specifier to activate directly: │
│ Pin version: camoufox set official/stable/134.0.2-beta.20 │
│ Auto-update channel: camoufox set official/stable │
│ sync Sync available versions from remote repositories. │
│ test Open the Playwright inspector │
│ version Display version info │
╰───────────────────────────────────────────────────────────────────────────────────╯
sync
Pull a list of release assets from GitHub.
> camoufox sync
Syncing repositories...
Official... 24 versions
CoryKing... 2 versions
Synced 26 versions from 2 repos.
set
Choose a version channel or pin a specific version. Can also be called with a specifier to activate directly.
Interactive selector:
> camoufox set
You can also pass a specifier to pin a specific version or choose a channel to follow directly. This will pull the latest stable version from the official repo on camoufox fetch.
> camoufox set official/stable # This is the default setting
Follow latest prerelease version from the official repo:
> camoufox set official/prerelease
Pin a specific version:
> camoufox set official/stable/134.0.2-beta.20
active
Prints the current active version string:
> camoufox active
official/stable
> camoufox set coryking/stable/142.0.1-fork.26
Pinned: coryking/stable/142.0.1-fork.26
Run 'camoufox fetch' to install.
> camoufox active
coryking/stable/142.0.1-fork.26 (not installed)
fetch
Install the active version, or a specific version. This will also automatically sync repository assets.
> camoufox fetch # install active channel's latest
> camoufox fetch official/135.0-beta.25 # install a specific version
list
List installed or all available Camoufox versions as a tree.
> camoufox list # show installed versions
> camoufox list all # show all available versions from synced repos
> camoufox list --path # show full install paths
remove
Remove installed browser versions and/or GeoIP data. Opens an interactive selector, or pass a specifier to remove directly.
Interactively select a specific version to remove:
camoufox remove # interactive selection
Remove a specific version:
camoufox remove official/stable/134.0.2-beta.20 # remove a specific version
Remove all:
camoufox remove --all # remove everything
camoufox remove --all -y # skip confirmation prompts
version
Display the Python package version, active browser version, channel, and update status.
camoufox version
path
Print the install directory path.
> camoufox path
/home/name/.cache/camoufox
test
Open the Playwright inspector for debugging.
> camoufox test
> camoufox test https://example.com
server
Launch a remote Playwright server.
> camoufox server
Usage
All of the latest documentation is avaliable at camoufox.com/python.