Skip to main content

browser-stealth 🥷

Библиотека браузерного антидетекта нового поколения, биомеханической эмуляции поведения человека (WindMouse) и прогрева профилей для nodriver, Playwright, Selenium и WebDriver BiDi.


Ключевые возможности

  • Кросс-движковый антидетект:
    • Скрытие признаков автоматизации (navigator.webdriver, флаги automation CDP).
    • Полифилы и согласованный спуфинг WebGL (UNMASKED_VENDOR_WEBGL, UNMASKED_RENDERER_WEBGL), Canvas (субпиксельный детерминированный шум), AudioContext и WebRTC.
    • Защита от детекта через Web Workers и чистые трассировки стека V8 без утечек patched evaluation.
    • Поддержка Client Hints (navigator.userAgentData), сенсорных событий Touch API и гироскопа.
  • Биомеханика движений человека (Humanize):
    • Алгоритм движения мыши WindMouse с физической моделью гравитации, инерции и кривых Безье.
    • Имитация опечаток на клавиатуре и вариативной скорости набора текста.
    • Реалистичные сенсорные жесты: тапы, свайпы и пинч-зум.
    • Марковские цепи для эмуляции случайного блуждания и серфинга по сайтам.
  • Прогрев сессий и решение проверок (Warmers & Solvers):
    • ProfileWarmer — автоматический органический прогрев браузерных сессий через поисковые системы (Google, Yandex, Bing).
    • Автоматический обход модальных окон согласия Google Consent / GDPR.
    • Встроенный инспектор и интеграционный мост для токенов Cloudflare Turnstile.
  • Синтез и управление профилями:
    • Синтез консистентных цифровых личностей по seed-ключу (FingerprintSynthesizer).
    • Защищенный экспорт/импорт профилей (.chprofile) с опциональным AES/Fernet-шифрованием.
    • Автоматическая гигиена и санитизация профилей (сброс флагов сбоя exit_type, очистка временного мусора Chromium).
  • Сетевая инфраструктура:
    • Пул прокси с скорингом задержки, ротацией и health-check.
    • Динамическая генерация Chrome Extension для базовой аутентификации прокси.
    • Локальный TCP/SOCKS авторизационный туннель.
  • Протокол WebDriver BiDi:
    • Кроссбраузерное внедрение антидетект скриптов через script.addPreloadScript поверх WebSocket-соединения.

Установка

Установка ядра с нулевыми тяжелыми зависимостями:

uv add browser-stealth
# или
pip install browser-stealth

Установка с поддержкой конкретных браузерных движков:

uv add "browser-stealth[playwright]"  # Для Playwright
uv add "browser-stealth[nodriver]"    # Для nodriver
uv add "browser-stealth[selenium]"    # Для Selenium
uv add "browser-stealth[bidi]"        # Для протокола WebDriver BiDi
uv add "browser-stealth[all]"         # Все компоненты

Быстрый старт

1. Декларативная маскировка nodriver (Zero-Footprint)

import asyncio
from browser_stealth import AntidetectConfig, launch_nodriver


async def main():
    config = AntidetectConfig.preset_stealth_nodriver(
        session_seed="user_account_42",
    )
    browser = await launch_nodriver(antidetect_config=config, headless=False)
    page = await browser.get("https://bot.sannysoft.com")
    await asyncio.sleep(5)
    await browser.stop()


if __name__ == "__main__":
    asyncio.run(main())

2. Человекоподобные движения мыши (WindMouse)

import asyncio
from browser_stealth.humanize import async_move_mouse, async_type_text


async def interact(tab):
    # Плавное биомеханическое перемещение мыши в координаты кнопки
    await async_move_mouse(tab, target_x=450, target_y=320)
    # Ввод текста с естественными задержками и опечатками
    await async_type_text(tab, "#search-input", "browser antidetect python")

3. Интеграция с Playwright

import asyncio
from playwright.async_api import async_playwright
from browser_stealth import AntidetectConfig, apply_antidetect_playwright


async def main():
    config = AntidetectConfig.preset_aggressive(
        webgl_vendor="Google Inc. (NVIDIA)",
        webgl_renderer="ANGLE (NVIDIA, GeForce RTX 4080 Direct3D11)",
    )
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True)
        context = await browser.new_context()
        await apply_antidetect_playwright(context, config=config)
        page = await context.new_page()
        await page.goto("https://nowecure.com")
        await browser.close()


if __name__ == "__main__":
    asyncio.run(main())

Лицензия

Распространяется под лицензией MIT.

Metadata

Release files for browser-stealth 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for browser-stealth 0.1.0
File Size Uploaded
browser_stealth-0.1.0.tar.gz 149.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for browser-stealth 0.1.0
File Interpreter ABI Platform
browser_stealth-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 352.7 kB

Release files / browser_stealth-0.1.0.tar.gz

Download URL browser_stealth-0.1.0.tar.gz
Size 149.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6173dc73b33b2a39f90de11cff7cc55789f95d51382ed7b4ff38e14850411008
BLAKE2b-256 checksum
How to use checksums
b90b7bd02e32e420cff60ec191b4ec6ae2b0b5d259c74ae19b4c9066e8ff94cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / browser_stealth-0.1.0-py3-none-any.whl

Download URL browser_stealth-0.1.0-py3-none-any.whl
Size 203.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6888f95340233563b8c3ceff80adda3b0f9a8b9a39dbad74007020cb87ece798
BLAKE2b-256 checksum
How to use checksums
3ae1be50fe099ffde6ab2da1cb1431ffdf4d9d5b5468391cd841c6af19622098
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.21 {"installer":{"name":"uv","version":"0.12.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.1

2 release files

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page