chore: clean up GeoIP timeout follow-up (#213)

Remove dead null checks, document CLOAKBROWSER_GEOIP_TIMEOUT_SECONDS
env var, credit contributor.

Fix review findings:
- Use timeout-bounded resolve_proxy_exit_ip in _resolve_webrtc_args
- Add missing timeout handler on tunneled HTTPS request in JS
- Reject nan/inf in Python timeout parsing (parity with JS)
- Recompute deadline after CONNECT succeeds in JS proxy tunnel
This commit is contained in:
CloakHQ
2026-05-11 21:15:36 +02:00
parent 71f57d00d1
commit f8026a7b39
4 changed files with 12 additions and 16 deletions
+3 -6
View File
@@ -902,10 +902,7 @@ def maybe_resolve_geoip(
exit_ip = resolve_proxy_exit_ip(proxy_url)
return timezone, locale, exit_ip
geo_result = resolve_proxy_geo_with_ip(proxy_url)
if geo_result is None:
return timezone, locale, None
geo_tz, geo_locale, exit_ip = geo_result
geo_tz, geo_locale, exit_ip = resolve_proxy_geo_with_ip(proxy_url)
if timezone is None:
timezone = geo_tz
if locale is None:
@@ -937,8 +934,8 @@ def _resolve_webrtc_args(
del args[idx]
return args
try:
from .geoip import _resolve_exit_ip
exit_ip = _resolve_exit_ip(proxy_url)
from .geoip import resolve_proxy_exit_ip
exit_ip = resolve_proxy_exit_ip(proxy_url)
except Exception:
logger.warning("Failed to resolve proxy exit IP for WebRTC spoofing; removing --fingerprint-webrtc-ip=auto")
args = list(args)
+3
View File
@@ -12,6 +12,7 @@ from __future__ import annotations
import ipaddress
import logging
import math
import os
import socket
import tempfile
@@ -167,6 +168,8 @@ def _get_geoip_timeout_seconds() -> float:
try:
timeout = float(raw)
except ValueError:
timeout = float("nan")
if not math.isfinite(timeout):
logger.warning(
"Invalid %s=%r; using %.1fs",
GEOIP_TIMEOUT_ENV,