[tahoe-lafs-trac-stream] [Tahoe-LAFS] #314: DNS tricks to connect clients to their own (local) node

Tahoe-LAFS trac at tahoe-lafs.org
Fri Jan 17 23:57:25 UTC 2020


#314: DNS tricks to connect clients to their own (local) node
-----------------------------------+------------------------------
     Reporter:  warner             |      Owner:
         Type:  enhancement        |     Status:  closed
     Priority:  major              |  Milestone:  undecided
    Component:  code-frontend-web  |    Version:  0.7.0
   Resolution:  wontfix            |   Keywords:  introduction web
Launchpad Bug:                     |
-----------------------------------+------------------------------
Changes (by exarkun):

 * status:  new => closed
 * resolution:   => wontfix


Old description:

> Zandr had a clever idea that we wanted to write down before we forgot
> about
> it. I'm not entirely sure what it is, but here's what I remember of it:
>
> A user who accesses their tahoe vdrive through a web browser may or may
> not
> be running a local node. We and they would prefer to get service from
> their
> local node: it transfers load from a central webapi server to the user's
> own
> machine (thus distributing it better), and it avoids revealing file caps
> to
> the external server (thus improving privacy).
>
> But how to tell if they're running a local node or not?
>
> We rig up a DNS server that is connected to our Introducer. We have the
> client always hit the same DNS address, maybe
> 'anynode.allmydata.com:8123'.
> If our Introducer somehow concludes that they are running a node (and
> that
> it's running a webserver), it returns 127.0.0.1 for that name. If not, it
> returns the IP address of our central webapi server.
>
> It's kind of like IPv6 anycast addresses. It's also kind of like dynamic-
> DNS
> services. Perhaps we give each node a distinct name, and have the client
> access nodeid1234.anynode.allmydata.com, and if the introducer knows that
> that nodeid is online, it sends the browser at 127.0.0.1 .
>
> Anyways, neat trick, not quite sure how to use it yet.

New description:

 Zandr had a clever idea that we wanted to write down before we forgot
 about
 it. I'm not entirely sure what it is, but here's what I remember of it:

 A user who accesses their tahoe vdrive through a web browser may or may
 not
 be running a local node. We and they would prefer to get service from
 their
 local node: it transfers load from a central webapi server to the user's
 own
 machine (thus distributing it better), and it avoids revealing file caps
 to
 the external server (thus improving privacy).

 But how to tell if they're running a local node or not?

 We rig up a DNS server that is connected to our Introducer. We have the
 client always hit the same DNS address, maybe
 'anynode.allmydata.com:8123'.
 If our Introducer somehow concludes that they are running a node (and that
 it's running a webserver), it returns 127.0.0.1 for that name. If not, it
 returns the IP address of our central webapi server.

 It's kind of like IPv6 anycast addresses. It's also kind of like dynamic-
 DNS
 services. Perhaps we give each node a distinct name, and have the client
 access nodeid1234.anynode.allmydata.com, and if the introducer knows that
 that nodeid is online, it sends the browser at 127.0.0.1 .

 Anyways, neat trick, not quite sure how to use it yet.

--

Comment:

 Agreed.

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/314#comment:5>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list