diff --git a/CHANGELOG.md b/CHANGELOG.md index 2f42de7..aeb6b55 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed + +## [0.14.3] - 2025-09-28 + +### Fixed + +- Fix WebRTC IP Leaks @ethcipher + +### Added + +- Add `disable_webRTC` and `disable_webGL` agrs to `Config` class @ethcipher + ## [0.14.2] - 2025-09-09 ### Fixed diff --git a/zendriver/core/config.py b/zendriver/core/config.py index 70418fc..0b00451 100644 --- a/zendriver/core/config.py +++ b/zendriver/core/config.py @@ -46,6 +46,8 @@ def __init__( browser_connection_timeout: float = 0.25, browser_connection_max_tries: int = 10, user_agent: Optional[str] = None, + disable_webRTC: Optional[bool] = True, + disable_webGL: Optional[bool] = False, **kwargs: Any, ): """ @@ -106,6 +108,8 @@ def __init__( self.host = host self.port = port self.expert = expert + self.disable_webRTC = disable_webRTC + self.disable_webGL = disable_webGL self._extensions: list[PathLike] = [] # when using posix-ish operating system and running as root @@ -226,6 +230,14 @@ def __call__(self) -> list[str]: args.append("--remote-debugging-host=%s" % self.host) if self.port: args.append("--remote-debugging-port=%s" % self.port) + if self.disable_webRTC: + args += [ + "--webrtc-ip-handling-policy=disable_non_proxied_udp", + "--force-webrtc-ip-handling-policy", + ] + if self.disable_webGL: + args += ["--disable-webgl", "--disable-webgl2"] + return args def add_argument(self, arg: str) -> None: