Remix.run Logo
binarymax 6 days ago

Does this require a 3rd party host, or is it peer-to-peer?

b_fiive 6 days ago | parent | next [-]

it's p2p. dumbpipe is hardcoded to use a public set of relays that we run for free (we being number 0, the team that make iroh & dumbpipe).

we can definitely add a config argument to skip the hardcoded relays & provide custom ones!

binarymax 6 days ago | parent [-]

Thanks for the response. This statement confuses me a bit. What is a relay? Does traffic go through it at all, or is it for connection negotiation, or some of both?

4gotunameagain 6 days ago | parent | next [-]

Your questions are answered in TFA, including multiple links to documentation about the process.

https://www.iroh.computer/docs/concepts/relay \

https://crates.io/crates/iroh

b_fiive 6 days ago | parent | prev | next [-]

sibling comment with links to docs is the more accurate, but to summarize, it's some of both:

* all connections are always e2ee (even when traffic flows through a relay)

* relays are both for connection negotiation, and as a fallback when a direct connection isn't possible

* initial packet is always sent through the relay to keep a fast time-to-first-byte, while a direct connection is negotiated in parallel. typical connections send a few hundred bytes over the relay & the rest of the connection lifetime is direct

kiitos 5 days ago | parent | prev [-]

tl;dr: resolving ids to destinations requires a third party relay

dignifiedquire 5 days ago | parent [-]

relays _can_ be used to resolve IDs, but so can mDNS, an email or any other form of third party channel

kiitos 4 days ago | parent [-]

the use case here is somebody opens a web browser and types/pastes an ID into the top bar -- and it needs to resolve, correctly, without prior knowledge, in roughly the same amount of time that DNS takes today

relays are the only thing among the things you listed that even have a chance of solving this problem

nine_k 6 days ago | parent | prev [-]

Peer to peer, unless both ends are behind NAT, then you need to run a relay.

justusthane 6 days ago | parent [-]

They provide a default relay. It’s not clear to me whether you can manually specify a different relay.

avtar 6 days ago | parent | next [-]

They have docs for using self-hosted relays:

https://github.com/n0-computer/iroh/blob/main/iroh/docs/loca...

aniviacat 6 days ago | parent | next [-]

Unfortunately the link to the Config struct is broken. It should be:

https://github.com/n0-computer/iroh/blob/main/iroh-relay/src...

DrillShopper 6 days ago | parent | prev [-]

It'd be nice if the Getting Started link on the n0des page went here instead of immediately asking me to sign up before I know what the hell I'm signing up for

rklaehn 5 days ago | parent | prev [-]

Dumbpipe is using our set of relays. It is meant as a standalone tool as well as a showcase for what you can do with iroh.

If you use iroh as a library, you can specify your own relays.

It is important to mention that relays are interoperable, so you don't have isolated bubbles of nodes using certain relay networks. I can have the n0 relays specified and still talk to another node that is using a different set of relays.