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.2.tar.gz (105.6 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.2-py3-none-any.whl (895.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: red_eye_browser-1.0.2.tar.gz
  • Upload date:
  • Size: 105.6 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.2.tar.gz
Algorithm Hash digest
SHA256 e115c98df6e7fb57ce293b6eb4c798f99103fbe0d04e0f5f20d45b0ef4d1efad
MD5 182825626777a66c8d0545227de003ae
BLAKE2b-256 68468ed2c2fc0e1ca2ff1f431b45a344232b4f65b407c300f278e886d798c101

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for red_eye_browser-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8d3a70f4d9a36542a204eeed1e1c54880493603f1bca61039540356f73e16108
MD5 473e5b720d9e8919a9b5c964daf53fb9
BLAKE2b-256 ead6ddc6e4df25e2db36e8750dbe399e3580f6cb37f5058df3c6fbe977864799

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