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

Tahoe-LAFS trac at tahoe-lafs.org
Wed Sep 16 04:50:51 UTC 2015


#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:  privacy anonymity anti-censorship
  network                |  i2p tor-protocol usability
   Resolution:           |
Launchpad Bug:           |
-------------------------+-------------------------------------------------

Comment (by str4d):

 Replying to [comment:41 warner]:
 > `txi2p` will also be used in phase 4 to allocate the i2p address: `tahoe
 create-node` will create an I2P listening endpoint (storing key material
 into a NODEDIR/private/ directory), tell it to start listening, use
 `.getHost()` to learn the .i2p address, then shuts it all down. The
 address is used to write the correct connection hint into tahoe.cfg
 `tub.location`, and the key material directory is used to create a server
 endpoint string to write into `tub.port`. As long as the i2p server-
 endpoint-parser plugin is available at node startup, Foolscap will just
 ask Twisted to parse `tub.port`, and that should create the right i2p
 server endpoint.
 >
 > I mentioned that, instead, it'd also be ok (in fact it might be faster)
 to have `tahoe create-node` call a `txi2p` convenience function that
 allocates the address without actually creating an endpoint. The normal
 endpoint.listen() process creates a tunnel, which involves a lot of
 network traffic. At create-node time, all we really need to do is generate
 the keys: we can put off creating the real Endpoint until the node is
 launched.

 I have [https://github.com/str4d/txi2p/blob/master/txi2p/api.py#L11 added
 an API method] that takes a reactor and a path to a keyfile, saves a new
 Destination to the keyfile, and returns an `IAddress` containing the
 information required to connect to that Destination (the same `I2PAddress`
 that `.getHost()` returns). It only requires that the SAM API be
 accessible.

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


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