Skip to main content

Anti-fingerprinting browser automation library built on a custom Firefox binary

Project description

Red-Eye Browser

Anti-fingerprinting browser automation library built on a custom Firefox 140 binary.

What is Red-Eye?

Red-Eye is a custom Firefox fork that spoofs browser fingerprints based on a JSON profile. The browser runs on Windows but can impersonate macOS, Linux, or Windows profiles — showing only the fonts, GPU, timezone, locale, and navigator data defined in the profile.

Fingerprints Spoofed

Fingerprint Details
User-Agent Full UA string from profile
Navigator platform, hardwareConcurrency, deviceMemory, maxTouchPoints, languages, language
Screen width, height, availWidth, availHeight, colorDepth, innerWidth, innerHeight, outerWidth, outerHeight
Fonts System fonts isolated — web sees only profile fonts (macOS 17/51, Linux 7-8/51, Windows 7-10/51 in CreepJS)
WebGL vendor, renderer, version, shadingLanguageVersion, unmasked vendor/renderer, extension list
Canvas Text metrics rounded to prevent font fingerprinting
Timezone ICU-level override — affects Intl.DateTimeFormat, Date, all JS time APIs
Locale Accept-Language header + navigator.languages consistent
HTTP Headers User-Agent header matches navigator.userAgent
CSS Media prefers-color-scheme, pointer, hover from profile
Math.random Seed influenced by profile hash
Worker Navigator Same spoofing as main thread
SVG Text Metrics rounded (same as Canvas 2D)

Installation

pip install red-eye-browser
redeye install

Usage

Async

import asyncio
from redeye import AsyncRedEye

async def main():
    async with AsyncRedEye() as browser:
        page = await browser.new_page()
        await page.goto("https://example.com")

asyncio.run(main())

Sync

from redeye import RedEye

with RedEye() as browser:
    page = browser.new_page()
    page.goto("https://example.com")

With Proxy

from redeye import AsyncRedEye

async with AsyncRedEye(proxy={
    "server": "http://host:port",
    "username": "user",
    "password": "pass"
}) as browser:
    page = await browser.new_page()
    await page.goto("https://example.com")

Persistent Context

import tempfile
from redeye import AsyncRedEye

async with AsyncRedEye(
    persistent_context=True,
    user_data_dir=tempfile.mkdtemp(),
    proxy={"server": "http://host:port", "username": "user", "password": "pass"}
) as context:
    page = context.pages[0]
    await page.goto("https://example.com")

CLI Commands

redeye install              # Latest browser binary download karo
redeye install 1.0.0        # Specific version
redeye status               # Installed version check karo
redeye uninstall            # Browser binary remove karo

Profile System

Each profile is a JSON file containing fingerprint data:

  • Windows profiles — impersonate Windows machine
  • macOS profiles — impersonate macOS machine
  • Linux profiles — impersonate Linux machine

50+ pre-built profiles included. Custom profiles supported.

Author

Rohit Prajapati — prajapatirohit8860@gmail.com

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

red_eye_browser-1.0.3.tar.gz (106.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

red_eye_browser-1.0.3-py3-none-any.whl (896.1 kB view details)

Uploaded Python 3

File details

Details for the file red_eye_browser-1.0.3.tar.gz.

File metadata

  • Download URL: red_eye_browser-1.0.3.tar.gz
  • Upload date:
  • Size: 106.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.5

File hashes

Hashes for red_eye_browser-1.0.3.tar.gz
Algorithm Hash digest
SHA256 1fe428b2482892f04e1cc2e44f20e58044125ee558aeacbd95ac156f2fcfd3cb
MD5 299d38687ceaf03882806ec54c08724f
BLAKE2b-256 705fe442cf70a483a6648f9ab99208c00a07fd0c842dc55727ceea3cc6fe35b5

See more details on using hashes here.

File details

Details for the file red_eye_browser-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for red_eye_browser-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 0d1264dde6ec8558bd776d56842584ebd21351c5e15c131b311e07ae0da54f88
MD5 bc95033dfd36b3cf71c739c2f70ee64a
BLAKE2b-256 fd1962837bf82951c57e33a23297f07492f7dbf1614e0db58b4fc39e9ace283c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page