#314 closed enhancement (wontfix)

DNS tricks to connect clients to their own (local) node

Reported by: warner Owned by:
Priority: major Milestone: undecided
Component: code-frontend-web Version: 0.7.0
Keywords: introduction web Cc: zandr
Launchpad Bug:

Description (last modified by exarkun)

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.

Change History (5)

comment:1 Changed at 2008-06-01T21:05:19Z by warner

  • Milestone changed from eventually to undecided

comment:2 Changed at 2009-08-22T19:45:00Z by warner

  • Component changed from unknown to code-frontend-web
  • Owner nobody deleted

comment:3 Changed at 2010-03-12T23:46:30Z by davidsarah

  • Keywords introduction added; introducer removed

comment:4 Changed at 2012-06-30T22:21:58Z by davidsarah

This seems specific to shared gateways, and a bit too clever. Close as wontfix?

comment:5 Changed at 2020-01-17T23:57:25Z by exarkun

  • Description modified (diff)
  • Resolution set to wontfix
  • Status changed from new to closed

Agreed.

Note: See TracTickets for help on using tickets.