[tor-bugs] #7153 [Pluggable transport]: Don't require pluggable transport proxies to be SOCKS proxies

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Dec 19 19:53:39 UTC 2012


#7153: Don't require pluggable transport proxies to be SOCKS proxies
---------------------------------+------------------------------------------
 Reporter:  karsten              |          Owner:  asn
     Type:  project              |         Status:  new
 Priority:  normal               |      Milestone:     
Component:  Pluggable transport  |        Version:     
 Keywords:  SponsorZ             |         Parent:     
   Points:                       |   Actualpoints:     
---------------------------------+------------------------------------------

Comment(by dcf):

 Replying to [comment:4 asn]:
 > FWIW, flashproxy seems to be doing the same thing as stegotorus:
 > https://gitweb.torproject.org/user/dcf/flashproxy.git/blob/transport
 :/flashproxy-client#l71

 This is true. In the configuration we use an IP address that tries to be
 obviously fake: 0.0.1.0:1. (The address 0.0.0.0 doesn't work because `tor`
 uses it as a reserved value. I'm guessing I also tried 0.0.0.1 but it
 didn't work because SOCKS4a uses addresses of that form. Similarly a port
 of 0 is problematic.)

 I have thought about, but haven't tested, using multiple `Bridge` lines
 with different fake addresses. They would in fact all be going to the same
 websocket bridge, but they would be going through different flash proxies
 (unknown in advance).
 {{{
 ClientTransportPlugin websocket exec ./flashproxy-client --register
 UseBridges 1
 Bridge websocket 0.0.1.0:1
 Bridge websocket 0.0.1.1:1
 Bridge websocket 0.0.1.2:1
 Bridge websocket 0.0.1.3:1
 Bridge websocket 0.0.1.4:1
 }}}

 I can think of two things that would make things easier for flash proxy.
 The first would be a way for `flashproxy-client` to advise `tor` of how
 many virtual bridges (flash proxies) are currently available. We aim to
 keep about five of these, but only use one at a time. We could get better
 performance by running different circuits over different proxies.

 The second is a solution for #3292. `tor` currently freaks out and refuses
 to connect if its bridge at 0.0.1.0:1 changes fingerprint. This can be
 expected to happen because 0.0.1.0:1 is not the bridge's real address, but
 a virtual address which can refer to different bridges at different times.
 We currently work around this by having only one websocket bridge the
 facilitator knows about.

 > c) Other solutions.
 >    Like leaving the situation as it currently is, or sticking metadata
 in the SOCKS handshake that allows the pluggable transport proxy to find
 the bridge addresses on its own.

 What metadata would be passed here? Am I correct in assuming that
 stegotorus takes a list of addresses on the command line, and that this
 information would be passed as part of a SOCKS handshake instead. This
 wouldn't make any difference for flash proxy, because we don't know any
 flash proxy addresses a priori, so we couldn't give them to the transport
 even if we wanted to.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/7153#comment:5>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list