ssbc / scuttlebutt-protocol-guide

Protocol documentation for Secure Scuttlebutt
https://ssbc.github.io/scuttlebutt-protocol-guide/
242 stars 31 forks source link

Mention Tunnels, Rooms, Tor Onion-Services, ... #43

Closed Thomas131 closed 3 years ago

Thomas131 commented 3 years ago

HI! I didn't find a place to ask questions so I ask here.

I try to understand the Scuttlebutt-Protocol and first of all congratulation for this awesome project!!

What I don't understand: Is there something like a RPC-Call: "Give me the Socket for User @...ed25519"? Or a other way to do NAT Traversal? Or is all non-local traffic relayed through pubs?

Thanks in advance! Thomas

arj03 commented 3 years ago

Hey Thomas

You are correct that pubs have mainky been used to relay data. For solutions that allows more direct connection between peers you can use rooms, tor or dht.

Thomas131 commented 3 years ago

Thank you very much @arj03 for your FAST response!! Maybe this function of pubs can be added to the doc somewhere.

With room, tor or dht you mean products that use DHT or Onion Service like Tox, Ricochet Refresh, Briar, ... do you?

arj03 commented 3 years ago

Ssb supports tor directly. Same with rooms, it is just a transport.

Thomas131 commented 3 years ago

Sorry, I forgot to reply! Thanks! I wouldn't have found this information from the protocol.

Maybe this transports should be mentioned in the Guide? Feel free to close the issue if you disagree.

retog commented 3 years ago

I agree with @Thomas131 that the guide should mention that the protocol is transport-level agnostic and that implementations support different transports.

Currently, the following sentence seems to imply TCP transport:

To connect to a peer you need to know its IP address, port number and public key.