[tor-dev] bananaphone obfsproxy module

George Kadianakis desnacked at riseup.net
Sun Nov 10 21:55:37 UTC 2013


David Stainton <dstainton415 at gmail.com> writes:

> George,
>
> Thanks for the info!
>
> This should approximate your suggestion:
> https://github.com/david415/obfsproxy/tree/david-bananaphone-managed
>
> Let me know your suggestions for improvement.
> Either way I'll work on this more soon.
>

Looks fine!

BTW, does it work for you? Did you try the server-side using the
ServerTransportOptions torrc option (tor >= 0.2.5.1-alpha)?

Some nitpicky comments:
- It doesn't really matter in this case but:
     transport_class = transports.get_transport_class(transport, 'socks')
  might be better as:
     transport_class = transports.get_transport_class(transport, 'server')
  in obfsproxy/managed/server.py.

- I see you are passing 'None' to setup() when in external mode. Maybe
  you can move the run_transport_setup() call to do_external_mode()
  (after pt_config is instantiated), and then pass the pt_config to
  setup(). This way external-mode transports can learn the state
  location (it's in TransportConfig) during setup() (Scramblesuit
  might like this).

  If you do so, there is no reason to do
   'if transport_config is not None'
  in obfsproxy/transports/bananaphone_transport.py.

- It would be nice if obfs2 also used the setup() method to set its
  shared_secret. I'm referring to the block of code below:
   # Check for shared-secret in the server transport options.

Cheers!


More information about the tor-dev mailing list