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"REMOTE_DEBUGGING_ENABLED: {REMOTE_DEBUGGING_ENABLED}")
logger.info(f"RECAPTCHA_BYPASS: {RECAPTCHA_BYPASS}") logger.info(f"RECAPTCHA_BYPASS: {RECAPTCHA_BYPASS}")
logger.info(f"AUTO_SOLVE_CAPTCHA: {AUTO_SOLVE_CAPTCHA}") 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"===========================") logger.info(f"===========================")
# Настраиваем CapSolver расширение с API ключом # Настраиваем 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-gl=angle",
"--use-angle=swiftshader", "--use-angle=swiftshader",
"--test-type", "--test-type",
# WebGPU флаги для Cloudflare Turnstile # WebGL флаги вместо WebGPU (который не работает в контейнере)
"--enable-webgpu", "--enable-webgl",
"--enable-webgpu-developer-features", "--ignore-gpu-blocklist",
"--use-angle=swiftshader", "--enable-accelerated-2d-canvas",
"--enable-gpu-rasterization",
"--enable-zero-copy",
"--ignore-webgl-blacklist",
]) ])
# Добавляем расширение CapSolver для автоматического решения капчи # Добавляем расширение 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) browser = Browser(cdp_url=cdp_url)
else: else:
# Обычный запуск # Обычный запуск
# Всегда добавляем флаги для обхода Cloudflare Turnstile # Добавляем флаги для работы в контейнере
extra_chromium_args = [ extra_chromium_args = [
"--no-sandbox", "--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( browser_profile = BrowserProfile(
user_data_dir="/app/browser-data/main_profile", user_data_dir="/app/browser-data/main_profile",
profile_directory="Default", profile_directory="Default",
headless=False, # Всегда false для поддержки reCAPTCHA headless=False, # Всегда false для поддержки reCAPTCHA
keep_alive=True, keep_alive=True,
extra_chromium_args=extra_chromium_args, extra_chromium_args=extra_chromium_args,
executable_path=chrome_path,
extensions=extensions,
) )
browser = Browser(browser_profile=browser_profile) browser = Browser(browser_profile=browser_profile)