[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[tor-talk] Using obfsproxy with OpenVPN



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