This commit is contained in:
nafer committed 2026-03-10 18:49:03 +03:00
1 parent 84ccb7bac4
commit a3c3d65c02
1 file changed
+36 -6
+36 -6
View File
@@ -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)