webrtc-remote-screen
webrtc-remote-screen copied to clipboard
Stream a remote desktop screen directly to your browser
WebRTC remote view
Dependencies
- Go 1.12
- If you want h264 support: libx264 (included in x264-go, you'll need a C compiler / assembler to build it)
- If you want VP8 support: libvpx
Architecture

More info in this blog post.
Running the server
The server receives the following flags through the command line:
--http.port (Optional)
Specifies the port where the HTTP server should listen, by default the port 9000 is used.
--stun.server (Optional)
Allows to speficy a different STUN server, by default a Google STUN server is used.
Chrome 74+, Firefox 66+, Safari 12.x are supported. Older versions (within reason) should be supported as well but YMMV.
Building the server
Build the deployment package by runnning make. This should create a tar file with the
binary and web directory, by default only support for h264 is included, if you want to use VP8 run make encoders=vp8, if you want both then make encoders=vp8,h264.
Copy the archive to a remote server, decompress it and run ./agent. The agent application assumes the web dir. is in the same directory.
WebRTC requires a secure domain to work, the recommended approach towards this is to forward the agent port thru SSH tunneling:
ssh -L YOUR_LOCAL_PORT:localhost:9000
Then access the application on http://localhost:YOUR_LOCAL_PORT, localhost should be considered
secure by modern browsers.
Screenshot

Feature requests
I'll see what I can do! Create an issue.
License
MIT - see LICENSE for the full text.