David Stainton <dstainton...@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! _______________________________________________ tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev