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.1

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.1
File Size Uploaded
browser_stealth-0.1.1.tar.gz 149.4 kB Details

Built distribution (wheel)

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

Total release size: 352.6 kB

Release files / browser_stealth-0.1.1.tar.gz

Download URL browser_stealth-0.1.1.tar.gz
Size 149.4 kB
Tags Source
SHA-256 checksum
How to use checksums
55092cd4062b2ec9a2705aca158f400fba1163c465fd6d7184cebb2627511ff6
BLAKE2b-256 checksum
How to use checksums
7e2580e4ef599bae8c54e049e57f44e541fe4c43648dc5183a828056f68f321c
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.1-py3-none-any.whl

Download URL browser_stealth-0.1.1-py3-none-any.whl
Size 203.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0e33cfa34ea9ee7040904a45e0fb8e1b061f7e8b3c2f78ab3ff41b61c9861a02
BLAKE2b-256 checksum
How to use checksums
11e406f2fc31bafc84232add638e00ac11a069673fcadf2388c9a64873662fe7
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

This release

0.1.1 This release

2 release files

0.1.0

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