Hello Tor Project community,
I’m working on a remote browser isolation project called BrowserBox (GitHub: GitHub - BrowserBox/BrowserBox: 💚 Secure remote browsing anywhere.), which runs browsers on a server to isolate web content from the client’s machine, enhancing security and privacy. Currently, BrowserBox supports routing a Chromium-based backend through Tor via SOCKS5 or operating as a Tor hidden service for added anonymity. However, I’m aware that SOCKS5 routing may introduce potential leaks compared to Tor Browser’s self managed version.
Inspired by recent Tor Project tools using network namespaces (oniux), I’m exploring a more robust integration by using Tor Browser as a backend for remote browsing. This would allow clients to connect to a Tor Browser instance running on a server, either over the clearnet or as a hidden service, potentially offering stronger privacy guarantees. Such a setup could also be deployed in privacy-focused environments like Tails.
My question is whether Tor Browser, based on Firefox ESR, supports the WebDriver BiDi protocol or the deprecated Chrome DevTools Protocol (CDP) for browser automation:
- Does Tor Browser include WebDriver BiDi support, as seen in recent Firefox releases (e.g., Firefox 129, where it’s production-ready for tools like Puppeteer)? Are there Tor-specific patches that might disable or limit this functionality?
- For CDP, I understand Firefox is phasing it out by late 2024 in favor of WebDriver BiDi. Is CDP functional in Tor Browser’s current release, or is it disabled due to security restrictions?
Support for either protocol would enable programmatic control of Tor Browser in a remote setup, eliminating reliance on SOCKS5 and aligning with Tor’s best practices. For context, BrowserBox is a source-available, commercial tool (requiring a license key), and my goal is to assess the feasibility of this integration for privacy-focused use cases, not to promote it. More details are available at GitHub - BrowserBox/BrowserBox: 💚 Secure remote browsing anywhere. …
Any insights, documentation pointers (e.g., Tor Browser’s automation capabilities or differences from upstream Firefox), or guidance would be greatly appreciated. Happy to clarify any technical details!