[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