fix: из-за этого не дает пройти cf_turnstile

This commit is contained in:
protokey committed 2026-09-23 16:51:05 +04:00
1 parent eefcf7a0a9
commit 51a801f612
2 files changed
-103

No files matched your search

-23
View File
@@ -6,7 +6,6 @@ from pathlib import Path
from typing import Annotated
from urllib.parse import urlsplit
from browserforge.fingerprints import Screen
from fastapi import Cookie
from fastapi import FastAPI
from fastapi import Request
@@ -14,7 +13,6 @@ from fastapi import Response
from patchright.async_api import Page, ProxySettings
from api import actions
from api.fingerprint import browser_kwargs_for, load_or_create_fingerprint
from api.geoip import resolve_geo
from api.schemas import SolveRequest
from engine import AsyncStealthySession
@@ -115,27 +113,6 @@ async def solve(
if locale:
fp_kwargs["locale"] = locale
scr_size = (1920, 1080)
fingerprint = load_or_create_fingerprint(
user_data_dir,
# только нижняя граница: реальный монитор физически не может быть
# меньше открытого на нём окна браузера (viewport ниже берём из
# fingerprint'а, не отсюда)
screen=Screen(min_width=scr_size[0], min_height=scr_size[1]),
**fp_kwargs,
)
# UA/заголовки/init-script (подделка navigator/screen/WebGL/...) /viewport/screen/
# device_scale_factor под fingerprint — единым куском kwargs (см.
# api/fingerprint.py:browser_kwargs_for), тем же путём, что и остальная конфигурация
# сессии (proxy/cookies/locale), а не отдельным вызовом после запуска контекста.
fp_browser_kwargs = browser_kwargs_for(fingerprint)
permissions = ["notifications"]
if geo and geo.get("geolocation"):
fp_browser_kwargs["additional_args"]["geolocation"] = geo["geolocation"]
permissions.append("geolocation")
fp_browser_kwargs["additional_args"]["permissions"] = permissions
nav_timeout_ms = payload.timeout * 1000 if payload.timeout else 60_000
blocked_domains = set(payload.blocked_domains) if payload.blocked_domains else None