mirror of
https://github.com/CloakHQ/CloakBrowser.git
synced 2026-06-23 11:41:46 +02:00
Bezier mouse curves, per-character typing with mistype simulation, smooth micro-step scrolling, idle micro-movements between actions. Supports both sync and async Playwright APIs. Patches page, frame, context, browser, and Locator class methods. Two presets: 'default' (normal speed) and 'careful' (slower, deliberate). Configurable via HumanConfig dataclass / interface with full override support. Bug fixes (from PR review): - fill()/clear(): platform-aware select-all (Meta+a on macOS, Control+a elsewhere) - sync Locator check()/uncheck(): wrap mouse_move in RawMouse-compatible object - resolve_config(): raise error on unknown preset name - Lazy-load human.config via __getattr__ in __init__.py - humanPreset typed as 'default' | 'careful' literal union - browser.newPage() patches implicit context Tests: Python 36/36, JS Vitest 34/34, visual Python 17/17, JS 13/13
49 lines
1.4 KiB
Python
49 lines
1.4 KiB
Python
"""cloakbrowser — Stealth Chromium that passes every bot detection test.
|
|
|
|
Drop-in Playwright replacement with source-level fingerprint patches.
|
|
|
|
Usage:
|
|
from cloakbrowser import launch
|
|
|
|
browser = launch()
|
|
page = browser.new_page()
|
|
page.goto("https://protected-site.com")
|
|
browser.close()
|
|
"""
|
|
|
|
from .browser import launch, launch_async, launch_context, launch_persistent_context, launch_persistent_context_async, ProxySettings
|
|
from .config import CHROMIUM_VERSION, get_default_stealth_args
|
|
from .download import binary_info, check_for_update, clear_cache, ensure_binary
|
|
from ._version import __version__
|
|
|
|
# Human-like behavioral layer (optional)
|
|
def __getattr__(name):
|
|
if name == "HumanConfig":
|
|
from .human.config import HumanConfig
|
|
globals()["HumanConfig"] = HumanConfig
|
|
return HumanConfig
|
|
if name == "resolve_human_config":
|
|
from .human.config import resolve_config
|
|
globals()["resolve_human_config"] = resolve_config
|
|
return resolve_config
|
|
raise AttributeError(f"module 'cloakbrowser' has no attribute {name}")
|
|
|
|
__all__ = [
|
|
"launch",
|
|
"launch_async",
|
|
"launch_context",
|
|
"launch_persistent_context",
|
|
"launch_persistent_context_async",
|
|
"ensure_binary",
|
|
"clear_cache",
|
|
"binary_info",
|
|
"check_for_update",
|
|
"CHROMIUM_VERSION",
|
|
"get_default_stealth_args",
|
|
"ProxySettings",
|
|
"HumanConfig",
|
|
"resolve_human_config",
|
|
"__version__",
|
|
]
|
|
|