13
This commit is contained in:
1 parent
84ccb7bac4
commit
a3c3d65c02
1 file changed
+36
-6
@@ -59,6 +59,8 @@ logger.info(f"USE_XVFB: {USE_XVFB}")
|
||||
logger.info(f"REMOTE_DEBUGGING_ENABLED: {REMOTE_DEBUGGING_ENABLED}")
|
||||
logger.info(f"RECAPTCHA_BYPASS: {RECAPTCHA_BYPASS}")
|
||||
logger.info(f"AUTO_SOLVE_CAPTCHA: {AUTO_SOLVE_CAPTCHA}")
|
||||
logger.info(f"CAPSOLVER_API_KEY: {'set' if CAPSOLVER_API_KEY else 'not set'}")
|
||||
logger.info(f"PROXY_URL: {PROXY_URL if PROXY_URL else 'not set'}")
|
||||
logger.info(f"===========================")
|
||||
|
||||
# Настраиваем CapSolver расширение с API ключом
|
||||
@@ -844,10 +846,13 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str):
|
||||
"--use-gl=angle",
|
||||
"--use-angle=swiftshader",
|
||||
"--test-type",
|
||||
# WebGPU флаги для Cloudflare Turnstile
|
||||
"--enable-webgpu",
|
||||
"--enable-webgpu-developer-features",
|
||||
"--use-angle=swiftshader",
|
||||
# WebGL флаги вместо WebGPU (который не работает в контейнере)
|
||||
"--enable-webgl",
|
||||
"--ignore-gpu-blocklist",
|
||||
"--enable-accelerated-2d-canvas",
|
||||
"--enable-gpu-rasterization",
|
||||
"--enable-zero-copy",
|
||||
"--ignore-webgl-blacklist",
|
||||
])
|
||||
|
||||
# Добавляем расширение CapSolver для автоматического решения капчи
|
||||
@@ -976,17 +981,42 @@ async def run_browser_task(task_id: str, task: str, max_steps: int, model: str):
|
||||
browser = Browser(cdp_url=cdp_url)
|
||||
else:
|
||||
# Обычный запуск
|
||||
# Всегда добавляем флаги для обхода Cloudflare Turnstile
|
||||
# Добавляем флаги для работы в контейнере
|
||||
extra_chromium_args = [
|
||||
"--no-sandbox",
|
||||
"--disable-blink-features=AutomationControlled",
|
||||
"--disable-dev-shm-usage",
|
||||
"--disable-gpu",
|
||||
"--enable-webgl",
|
||||
"--ignore-gpu-blocklist",
|
||||
"--enable-accelerated-2d-canvas",
|
||||
]
|
||||
|
||||
# Используем Google Chrome если доступен
|
||||
chrome_path = os.getenv("CHROME_PATH", "/usr/bin/google-chrome")
|
||||
if os.path.exists(chrome_path):
|
||||
logger.info(f"Using Google Chrome at {chrome_path}")
|
||||
else:
|
||||
logger.info("Google Chrome not found, using default Chromium")
|
||||
chrome_path = None
|
||||
|
||||
# Загружаем расширение CapSolver если настроено
|
||||
extensions = []
|
||||
if AUTO_SOLVE_CAPTCHA and CAPSOLVER_API_KEY:
|
||||
capsolver_ext_path = "/app/capsolver-extension"
|
||||
if os.path.exists(capsolver_ext_path):
|
||||
extensions = [capsolver_ext_path]
|
||||
logger.info("CapSolver extension will be loaded")
|
||||
else:
|
||||
logger.warning(f"CapSolver extension not found at {capsolver_ext_path}")
|
||||
|
||||
browser_profile = BrowserProfile(
|
||||
user_data_dir="/app/browser-data/main_profile",
|
||||
profile_directory="Default",
|
||||
headless=False, # Всегда false для поддержки reCAPTCHA
|
||||
keep_alive=True,
|
||||
extra_chromium_args=extra_chromium_args,
|
||||
executable_path=chrome_path,
|
||||
extensions=extensions,
|
||||
)
|
||||
browser = Browser(browser_profile=browser_profile)
|
||||
|
||||
|
||||
Reference in new issue
Block a user