Skip to content

Investigate WebRTC with TCP-ICE and hidden services

Mozilla added support for WebRTC over TCP, and WebRTC proxy support in Firefox 34 and 38: https://bugzilla.mozilla.org/show_bug.cgi?id=891551 https://bugzilla.mozilla.org/show_bug.cgi?id=949703

This might mean we can actually enable WebRTC now, if we turn off all of the IP address discovery and non-TCP ICE mechanisms: https://github.com/diafygi/webrtc-ips

We could also potentially list a hidden service address as a WebRTC ICE endpoint, though we would need to be careful about this since it means that potentially every Tor Browser user who visits a WebRTC-enabled page would suddenly spin up a hidden service. I wonder if we can have Tor create the keys for a hidden service without actually starting it up unless it is actually negotiated by WebRTC. OTOH, it may not be helpful to have an address that isn't accessible yet. I suppose it depends on how the ICE handshake works and how addresses are tried/negotiated.

This suggestion actually came from wiretapped (leif). WebRTC is no longer just for making calls. Tons of crazy decentralized apps are being built on top of it. Ex: https://instant.io/

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information