What platforms are supported?

Connection to another screen, which uses WebRTC, has been tested successfully with desktop Chrome and Firefox. It has also been tested successfully on Android with Chrome and Firefox. All other OS and browser combinations are either untested or have been tested and are known to not work (yet).

Sharing screens, which uses the Screen Capture API, has been tested successfully with desktop Chrome and Firefox. No other OS/browser combinations have been shown to support screen capturing (yet), including all mobile configurations.

Do you have a configuration that works for either connection or sharing that is not mentioned above? Please open an issue to let us know.
Why isn't this working for me?

This service does not work for all users. The most common reasons for failure are:

Do you believe your platform and network setup should work but aren't? Please open an issue with browser logs to let us know.
How secure is this?

This service is reasonably secure, assuming your phrase is fairly unique or a strong password is used. All screen video is end-to-end encrypted and the mechanism used to find the peer is also encrypted. It is possible for another to see your screen if you are sharing it, and they have the password (or you aren't using one), and they guess the phrase. For more details on how the service works, see the high-level and low-level explanations of how the service works below.

Can I download and run this locally?

Sure! This service is a simple set of HTML and JS hosted on GitHub Pages. You can download a zip or tarball of the current site, extract it, and open in your browser to get the same site experience.

If you want to hack on it and/or build it yourself, see the source code on GitHub.

Note, running locally is still the same site and still uses the external Google and Gun.js servers for IP determination and signaling respectively.
How does this work at a high level?

In general, this relies on Gun.js to signal WebRTC peers to share a video stream started via the Screen Capture API.

For the user sharing their screen:

For the user connecting to another screen:

How does this work in more technical detail?

For the user sharing their screen:

For the user connecting to another screen:

Why was this built?

Fun. And selfishly, once I saw these features are now deployed in stable browsers, I wanted to be able to quickly share a view of my screen without downloading anything. I also want easy remote screen control too, so I am building a downloadable tool for that (connection side won't need the tool, only the sharing side).

One of the goals is to make it easy to do just a quick screen share in situations such as family members with computer trouble or coworkers wanting to show something real quick. - made with indifference by cretz
FAQ | GitHub | Privacy