You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Earthstar uses servers for syncing over the internet. The servers act as always-online peers which keep a replica of all data themselves. This can be very useful for cases where peers aren't online at the same time, or when the server uses their replica to provide other services.
However, this ties servers to specific shares, and makes it necessary for them to be able to host (possibly large amounts of) data. It also means that users have to host their own servers, which can be difficult.
Is there a solution you'd like to recommend?
I think we should make it possible for servers to act as signalling servers to help peers connect directly to one another. Such servers would not have to host any data, and would be able to serve any Earthstar peers regardless of which shares they're interested in.
This would even be complementary with the existing model of servers as 'always online peers': those servers would also be able to connect to signalling servers and sync over WebRTC.
Then it would be possible to have the best of both worlds:
Where users who wanted to sync over the internet wouldn't need to run their own Earthstar servers
But also make it possible to have a peer that is always online to sync with.
And a kind of wishlist for the signalling server:
Peers should only be connected with other peers interested with at least one share in common.
Peers should not have to disclose which shares they are interested in to the server.
What's the problem you want solved?
Earthstar uses servers for syncing over the internet. The servers act as always-online peers which keep a replica of all data themselves. This can be very useful for cases where peers aren't online at the same time, or when the server uses their replica to provide other services.
However, this ties servers to specific shares, and makes it necessary for them to be able to host (possibly large amounts of) data. It also means that users have to host their own servers, which can be difficult.
Is there a solution you'd like to recommend?
I think we should make it possible for servers to act as signalling servers to help peers connect directly to one another. Such servers would not have to host any data, and would be able to serve any Earthstar peers regardless of which shares they're interested in.
This would be conceptually similar to SSB room servers.
This would require at least two components OTOH:
ISyncPartner
implementation which would use WebRTCI've never done anything with WebRTC or TURN/STUN servers so there's a lot to be figured out, but I think the broad strokes are right.
The text was updated successfully, but these errors were encountered: