fix os select
This commit is contained in:
@@ -92,13 +92,12 @@ class BrowserService:
|
|||||||
logger.info("Direct connection")
|
logger.info("Direct connection")
|
||||||
|
|
||||||
if proxy_config:
|
if proxy_config:
|
||||||
# Сначала пробуем с geoip — fingerprint соответствует региону прокси
|
# Пробуем с geoip без ограничения OS — browserforge сам выберет совместимую
|
||||||
try:
|
try:
|
||||||
async with AsyncCamoufox(
|
async with AsyncCamoufox(
|
||||||
headless=True,
|
headless=True,
|
||||||
geoip=True,
|
geoip=True,
|
||||||
humanize=True,
|
humanize=True,
|
||||||
os="windows",
|
|
||||||
exclude_addons=[DefaultAddons.UBO],
|
exclude_addons=[DefaultAddons.UBO],
|
||||||
proxy=proxy_config
|
proxy=proxy_config
|
||||||
) as browser:
|
) as browser:
|
||||||
@@ -108,18 +107,13 @@ class BrowserService:
|
|||||||
reading_time
|
reading_time
|
||||||
)
|
)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
# Camoufox на Linux формирует locale с script-тегом (ru-Cyrl-RU),
|
# Если geoip не может подобрать комбинацию — явно задаём locale без script-тега
|
||||||
# которого нет в базе browserforge — передаём базовую locale без script
|
geo = _get_proxy_locale(proxy_config)
|
||||||
try:
|
logger.warning(f"geoip fingerprint failed, retrying with explicit locale: {geo}")
|
||||||
geo = _get_proxy_locale(proxy_config)
|
|
||||||
except Exception:
|
|
||||||
geo = "ru-RU"
|
|
||||||
logger.warning(f"geoip script-locale unavailable, retrying with base locale: {geo}")
|
|
||||||
async with AsyncCamoufox(
|
async with AsyncCamoufox(
|
||||||
headless=True,
|
headless=True,
|
||||||
geoip=True,
|
geoip=True,
|
||||||
humanize=True,
|
humanize=True,
|
||||||
os="windows",
|
|
||||||
locale=geo,
|
locale=geo,
|
||||||
exclude_addons=[DefaultAddons.UBO],
|
exclude_addons=[DefaultAddons.UBO],
|
||||||
proxy=proxy_config
|
proxy=proxy_config
|
||||||
|
|||||||
Reference in New Issue
Block a user