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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file red_eye_browser-1.0.4.tar.gz.
File metadata
- Download URL: red_eye_browser-1.0.4.tar.gz
- Upload date:
- Size: 125.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a8c6f16766b9671e24cfc991bd22b459d0a6b175a35a5c6cfc16c8e4dea99f56
|
|
| MD5 |
d973e03fa8b349bac46904c8fbe8da66
|
|
| BLAKE2b-256 |
1d60971f353f4c09906a552f2752b867a5db28cd93fdcc07990bbdd0a0bec013
|
File details
Details for the file red_eye_browser-1.0.4-py3-none-any.whl.
File metadata
- Download URL: red_eye_browser-1.0.4-py3-none-any.whl
- Upload date:
- Size: 905.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f84359b931a9d41cbb0db54208c9d1c274ee804988ee88ca5aa87bde171e103
|
|
| MD5 |
436522e0e232325d12dc41e5c6024917
|
|
| BLAKE2b-256 |
b26e7cf5ef50cd844e107c217c7106e531775c46f434307336558ac0abb82ef4
|