It seems like the sender could be in-browser as well using WebRTC for the screen sharing. I would guess this is what is being used anyways as the receiver is a browser? If not is the quality much different?
Yes basically it's two browsers talking to each other.
But there is an important thing to notice.
You need to run a signaling server running somewhere. You cant run a signaling server in browser. When doing screen sharing between two browsers it basically goes to external signaling server on internet and asks credentials and then doing peer to peer communication.
Deskreen can run without access to world wide web with its own local signaling server.
The speed is also much better when doing direct communication through local signaling server running on host machine.
Not quite. As I've tested the speed is much slower when I'm using a simple-peer API with external IPC servers array filled in.
You may use what better fits your use case. But I want to mention that I made and end-to-end encryption for initial signals to be sent to each other. Signals are basically encrypted and hard to hack. Also deskreen has a lot of alrets and confirmations so you can always check your devices IPs. Also it has Lock Room feature -> meaning as soon as someone connected to a socket, it is immediately locked and no one can access it except 2 host and client devices.
But you can have a look in source code and maybe find some security leaks. Please submit the issue if you find it.
By the way I forgot to reference simple peer on github, let me fix that soon.