#246 closed defect (fixed)
add Tor client plugin
| Reported by: | dawuud | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 0.12.1 |
| Component: | network | Version: | 0.9.1 |
| Keywords: | tor | Cc: |
Description
Much like ticket #242, this ticket aims to create a foolscap client transport plugin. The Tor client plugin should be highly configurable yet work with a best effort if the user supplies zero parameters. It could potentially launch tor if a tor binary is present in the path... or use the system tor if a socks or control port is specified.
Change History (14)
comment:1 Changed 10 years ago by
| Component: | unknown → network |
|---|---|
| Keywords: | tor added |
| Milestone: | undecided → 0.9.2 |
comment:2 Changed 10 years ago by
comment:3 Changed 10 years ago by
| Milestone: | 0.10.0 → 0.11.0 |
|---|
the logging fixes (#244) take priority, pushing this out a release
comment:5 Changed 10 years ago by
here's my latest dev branch containing a socks client plugin for foolscap: https://github.com/daira/foolscap/commits/tor-client-plugin.2
i've tested it with the corresponding dev branch in tahoe-lafs as documented in https://tahoe-lafs.org/trac/tahoe-lafs/ticket/517#comment:68
daira has reviewed it... perhaps further review or merge?
comment:6 Changed 10 years ago by
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
closing this ticket; use https://foolscap.lothar.com/trac/ticket/242 intead
comment:7 Changed 10 years ago by
| Resolution: | duplicate |
|---|---|
| Status: | closed → reopened |
oh i see. more than just socks; we want detection of tor, auto-launch, best effort to find a socks or control port etc. sounds good to me. I guess we should do this after first getting a simple socks client plugin working in #242.
comment:8 Changed 10 years ago by
BTW, I'm going to change the API of IConnectionHintHandler.hint_to_endpoint to allow it to return a Deferred (that fires with a tuple of (endpoint, host)) instead of requiring it to return synchronously, so this Tor handler can try to connect/launch Tor before returning the endpoint.
comment:9 Changed 10 years ago by
Hey, could you take a look at https://github.com/warner/foolscap/pull/27 and see what you think? Probably not ready to merge, but maybe y'all can give me some hints.
comment:10 Changed 10 years ago by
| Milestone: | 0.12.0 → 0.13.0 |
|---|
Moving these tickets from 0.12 to 0.13, since we need 0.12 out quickly to resolve #263
comment:11 Changed 10 years ago by
The Tor branch is looking good: I've got manual tests working for all the expected use cases. I'm not certain about the API yet, but I think I'll land it tonight and then fix things up more before the release.
comment:13 Changed 10 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | reopened → closed |
I renamed the API functions a bit, to try for a bit more consistency. I'm still undecided about whether to ask for a 'reactor' argument in the handler functions.. we can't use it now, but things could be a bit cleaner if the internal function always set up the SOCKS proxy endpoint when the handler was first created, and then there are some functions (like default) which would really like to build that Endpoint before passing it into the common class, and *that* would need a reactor.
But, I think it'll work for now, so I'm going to close this.
comment:14 Changed 10 years ago by
| Milestone: | 0.13.0 → 0.12.1 |
|---|

Furthermore this plugin could eventually share state with a server plugin... so that the same tor process is used for both plugins.