Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use p2p connections to synchronize between browsers #128

Open
martin-v opened this issue Mar 7, 2021 · 2 comments
Open

Use p2p connections to synchronize between browsers #128

martin-v opened this issue Mar 7, 2021 · 2 comments

Comments

@martin-v
Copy link

martin-v commented Mar 7, 2021

@daed
Copy link
Member

daed commented Mar 16, 2021

That's a feature I've wanted to add for a while now, but it's not on the roadmap yet. The codebase for this project is horribly antiquated and I've been working on a more modern rewrite.

Synchronization is a feature we've heavily discussed in the past, and there have been many methods that have been requested to be implemented. I'm not sure it'll be realistic to accommodate all of them, but there will definitely be a p2p implementation of some sort!

@farooqkz
Copy link

farooqkz commented Dec 13, 2021

You could use DataChannel of WebRTC to sync between two devices(or more if you sync them in pair) but there are many things in WebRTC which are not P2P:

  • A STUN server must be used by both peers so that they can realize their IP address(es) and their network information. This, however, is not a big concern since there are many free and open STUN servers out there which you could use including Google's and STUN servers of other projects which use WebRTC would not be closed. Like instances of Jitsi Meet.
  • A Signaling server so that the peers can exchange the data about themselves to each other.
  • A TURN server which acts as a relay between two peers when they can't have direct access to each other. Since TURN is actually used to relay data, I doubt you could find a free server. Well, I didn't when I tried.

EDIT:
Without a TURN server, two devices might not be able to sync if they're on different networks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants