[tahoe-lafs-trac-stream] [tahoe-lafs] #517: make tahoe Tor- and I2P-friendly

tahoe-lafs trac at tahoe-lafs.org
Sun Jan 26 00:41:34 UTC 2014


#517: make tahoe Tor- and I2P-friendly
-------------------------+-------------------------------------------------
     Reporter:  warner   |      Owner:  ioerror
         Type:           |     Status:  new
  enhancement            |  Milestone:  undecided
     Priority:  minor    |    Version:  1.2.0
    Component:  code-    |   Keywords:  easy privacy anonymity anti-
  network                |  censorship i2p tor
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by leif):

 Currently Tahoe is usable with tor via the usewithtor/torsocks LD_PRELOAD
 tool, but it would be nice to have less hacky proxy support built-in.

 Over at http://foolscap.lothar.com/trac/ticket/217 david415 is working on
 adding twisted endpoint support to foolscap. Once that is done, I was
 initially thinking that Tahoe should load (as yet unwritten) twisted
 plugins which register the txsocksx library as endpoints called "socks"
 and "tor" (the latter of which would automatically use the tor socks port
 9050, and perhaps also fall back to the other common tor port 9150). After
 simply loading these plugins, we could use furls in the form of
 "tor:foo.onion:nnnn" or
 "socks:example.com:nnnn:sockshost=127.0.0.1:socksport=9050". However,
 there are two problems with this approach:
 * It would only allow a user to use tor when furls in announcements
 received from the introducer tell it to.
 * In the case that the whole grid is expected to be using tor: furls,
 anyone could announce a non-tor storage furl which would cause clients to
 connect without tor and reveal their IP address.

 So, endpoint support alone is not enough to make Tahoe tor-friendly. But,
 I still think adding endpoints to foolscap seems like the correct thing to
 do.

 My current thought is that Tahoe should have an "always_use_tor" option
 which causes all furls to be rewritten as tor: endpoints before being
 passed to foolscap. If this option is not enabled, tor connections will be
 made if a tor endpoint is used, but not otherwise. So, users of mixed tor
 /non-tor grids can leave it disabled if they prefer faster connections to
 non-tor nodes.

 This is almost enough, but still leaves a problem for users who want to
 connect via Tor to all storage nodes *except* for their own. I think the
 solution here is to use david415's introducerless branch and add a new
 per-server option to make exceptions to the always_use_tor directive.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/517#comment:15>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


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