Hello, I am facing a very peculiar problem of cencorship.
On a specific country OpenVPN traffic is being blocked trough DPI techinques. So I we set an obfsproxy gateway inside and outside the contry. Using the latest obfsproxy[1] commit 64aeb8d880cf64eb22d80b3f07f97154c08a28ec using SOCKS5 I am capable of making a successful tunnel but the TLS handshake fails, this using obfs3 format. So I tried the scramblesuit[0] protocol but it seems that the software is somewhat unfinished. Using the server: ``` bin/obfsproxy --log-file=obfsproxy.log --log-min-severity=debug scramblesuit \ --password=myopasswrdIdadnoIdeaHadtobeBase32 \ --dest=myio:myport server 0.0.0.0:80 ``` ``` Traceback (most recent call last): File "bin/obfsproxy", line 16, in <module> run() File "/path/to/obfsproxy/obfsproxy/pyobfsproxy.py", line 205, in run pyobfsproxy() File "/path/to/obfsproxy/obfsproxy/pyobfsproxy.py", line 182, in pyobfsproxy args.validation_function(args) File "/path/to/obfsproxy/transports/scramblesuit/scramblesuit.py", line 602, in validate_external_mode_cli "a good password." % args.uniformDHSecret) obfsproxy.transports.base.PluggableTransportError: Given password 'myopasswrdIdadnoIdeaHadtobeBase32' is not valid Base32! Run 'generate_password.py' to generate a goodpassword. ``` But I failed to find any file named with ``git ls-files | grep generate_password.py``, but nothing, tried to check if the file was deleted with ``git log --diff-filter=D --summary | grep generate_password.py`` After a few searches[2] I found that a password could be generated with: ``` $ python -c 'import base64, os; print base64.b32encode(os.urandom(20))' ``` After using a proper passowrd I get this: ``` Traceback (most recent call last): File "bin/obfsproxy", line 16, in <module> run() File "/path/to/obfsproxy/obfsproxy/pyobfsproxy.py", line 205, in run pyobfsproxy() File "/path/to/obfsproxy/obfsproxy/pyobfsproxy.py", line 187, in pyobfsproxy do_external_mode(args) File "/path/to/obfsproxy/obfsproxy/pyobfsproxy.py", line 101, in do_external_mode run_transport_setup(pt_config, args.name) File "/path/to/obfsproxy/obfsproxy/pyobfsproxy.py", line 150, in run_transport_setup transport_class['base'].setup(pt_config) File "/path/to/obfsproxy/obfsproxy/transports/scramblesuit/scramblesuit.py", line 148, in setup "No state location set. If you are using external mode, " \ obfsproxy.transports.base.TransportSetupFailed: No state location set. If you are using external mode, please set it using the --data-dir switch. ``` But using the safe switch does the following: ``` obfsproxy: error: unrecognized arguments: --data-dir=/path/to/data/ ``` This seems like an uncompleted feature. Any Ideas ? [0] https://lists.torproject.org/pipermail/tor-relays/2014-February/003886.html [1] https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/ [2] https://github.com/NullHypothesis/scramblesuit/blob/master/test/generate_password.py -- Regards, Alfredo Palhares -- tor-talk mailing list - tor-talk@lists.torproject.org To unsubscribe or change other settings go to https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-talk