[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