[tor-bugs] #12381 [Tor bundles/installation]: Pluggable Transports + proxy is not working on Windows with TBB 3.6.2
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sat Jul 26 18:30:23 UTC 2014
#12381: Pluggable Transports + proxy is not working on Windows with TBB 3.6.2
-------------------------------------+-------------------------------------
Reporter: gk | Owner: asn
Type: defect | Status: needs_revision
Priority: normal | Milestone:
Component: Tor | Version:
bundles/installation | Keywords: TorBrowserTeam201407,
Resolution: | tbb-helpdesk-frequent
Actual Points: | Parent ID:
Points: |
-------------------------------------+-------------------------------------
Comment (by meyer):
My try to make obfsproxy working with a proxy started here:
!https://trac.torproject.org/projects/tor/ticket/12381
gk's log said that win32api is missing. So I've compiled obfsproxy on
Windows, changing setup_py2exe.py to include pywin32's win32api.
After replacing 3.6.3's obfsproxy with my compiled one, I got the
following error on log:
{{{
!------------LOG PIECE START---------------!
2014-07-26 14:43:15,470 [ERROR] Unhandled Error
Traceback (most recent call last):
File "twisted\python\log.pyc", line 88, in callWithLogger
File "twisted\python\log.pyc", line 73, in callWithContext
File "twisted\python\context.pyc", line 118, in callWithContext
File "twisted\python\context.pyc", line 81, in callWithContext
--- <exception caught here> ---
File "twisted\internet\selectreactor.pyc", line 151, in _doReadOrWrite
File "twisted\internet\tcp.pyc", line 215, in doRead
File "twisted\internet\tcp.pyc", line 221, in _dataReceived
File "obfsproxy\network\socks5.pyc", line 170, in dataReceived
File "obfsproxy\network\socks5.pyc", line 242, in processAuthentication
File "obfsproxy\network\socks5.pyc", line 139, in <lambda>
File "obfsproxy\network\socks5.pyc", line 328, in processNoAuthRequired
File "obfsproxy\network\socks5.pyc", line 396, in processRequest
File "obfsproxy\network\socks5.pyc", line 411, in processCmdConnect
File "obfsproxy\network\socks.pyc", line 156, in connectClass
File "obfsproxy\network\network.pyc", line 396, in create_proxy_client
File "txsocksx\client.pyc", line 12, in <module>
File "parsley.pyc", line 3, in <module>
File "ometa\grammar.pyc", line 32, in <module>
File "ometa\grammar.pyc", line 25, in loadGrammar
exceptions.IOError: [Errno 2] No such file or directory:
'C:\\[MyPath]\\TorBrowser\\Tor\\PluggableTransports\\obfsproxy.zip\\ometa\\parsley_termactions.parsley'
2014-07-26 14:43:15,471 [DEBUG] socks_up_0x2336e50: Connection was lost
([Errno 2] No such file or directory:
'C:\\[MyPath]\\TorBrowser\\Tor\\PluggableTransports\\obfsproxy.zip\\ometa\\parsley_termactions.parsley').
2014-07-26 14:43:15,471 [DEBUG] socks_up_0x2336e50: Closing connection.
2014-07-26 14:43:15,471 [DEBUG] circ_0x2348eb8: Tearing down circuit.
!------------LOG PIECE END---------------!
}}}
So, I've looked on the zip file, and I didn't find that file. So, I'have
downloaded every *.parsley file from here (!https://github.com/python-
parsley/parsley/tree/master/ometa) and injected them inside obfsproxy.zip,
into "/ometa/". No lucky, it haven't worked.
On that moment that I thought a simple idea: Why not create a folder
"obfsproxy.zip" and extract Obfsproxy's py2exe files to it? I did it, and
the error was another:
{{{
!------------LOG PIECE START---------------!
2014-07-26 15:17:04,184 [ERROR] Unhandled Error
Traceback (most recent call last):
File "twisted\python\log.pyc", line 88, in callWithLogger
File "twisted\python\log.pyc", line 73, in callWithContext
File "twisted\python\context.pyc", line 118, in callWithContext
File "twisted\python\context.pyc", line 81, in callWithContext
--- <exception caught here> ---
File "twisted\internet\selectreactor.pyc", line 151, in _doReadOrWrite
File "twisted\internet\tcp.pyc", line 215, in doRead
File "twisted\internet\tcp.pyc", line 221, in _dataReceived
File "obfsproxy\network\socks5.pyc", line 170, in dataReceived
File "obfsproxy\network\socks5.pyc", line 242, in processAuthentication
File "obfsproxy\network\socks5.pyc", line 139, in <lambda>
File "obfsproxy\network\socks5.pyc", line 328, in processNoAuthRequired
File "obfsproxy\network\socks5.pyc", line 396, in processRequest
File "obfsproxy\network\socks5.pyc", line 411, in processCmdConnect
File "obfsproxy\network\socks.pyc", line 156, in connectClass
File "obfsproxy\network\network.pyc", line 409, in create_proxy_client
File "twisted\internet\endpoints.pyc", line 42, in <module>
File "twisted\internet\stdio.pyc", line 28, in <module>
File "twisted\internet\_win32stdio.pyc", line 15, in <module>
File "twisted\internet\_pollingfile.pyc", line 104, in <module>
File "pywintypes.pyc", line 124, in <module>
File "pywintypes.pyc", line 61, in __import_pywin32_system_module__
exceptions.ImportError: Module 'pywintypes' isn't in frozen sys.path
['C:\\[MyPath]\\TorBrowser\\Tor',
'C:\\[MyPath]\\TorBrowser\\Tor\\PluggableTransports\\obfsproxy.zip']
2014-07-26 15:17:04,184 [DEBUG] socks_up_0x23f3d50: Connection was lost
(Module 'pywintypes' isn't in frozen sys.path
['C:\\[MyPath]\\TorBrowser\\Tor',
'C:\\[MyPath]\\TorBrowser\\Tor\\PluggableTransports\\obfsproxy.zip']).
2014-07-26 15:17:04,184 [DEBUG] socks_up_0x23f3d50: Closing connection.
2014-07-26 15:17:04,184 [DEBUG] circ_0x2429d50: Tearing down circuit.
!------------LOG PIECE END---------------!
}}}
After doing some research, I found this link
(!http://stackoverflow.com/questions/17891071/importerror-with-cx-freeze-
and-pywin32-module-pythoncom-isnt-in-frozen-sys-p) and a user suggested to
put pythoncom33.dll on the build directory. I've searched for that file in
python's directory and found a folder with 3 dll files (pycom27.dll,
pycomloader27.dll, pywintypes27.dll) in (C:\Python27\Lib\site-
packages\pywin32_system32). So, thinking on the "put on the build
directory", I've put these DLL's on my new obfsproxy.zip folder and:
{{{
!------------LOG PIECE START---------------!
2014-07-26 15:22:01,470 [ERROR] Unhandled Error
Traceback (most recent call last):
File "twisted\python\log.pyc", line 88, in callWithLogger
File "twisted\python\log.pyc", line 73, in callWithContext
File "twisted\python\context.pyc", line 118, in callWithContext
File "twisted\python\context.pyc", line 81, in callWithContext
--- <exception caught here> ---
File "twisted\internet\selectreactor.pyc", line 151, in _doReadOrWrite
File "twisted\internet\tcp.pyc", line 215, in doRead
File "twisted\internet\tcp.pyc", line 221, in _dataReceived
File "obfsproxy\network\socks5.pyc", line 170, in dataReceived
File "obfsproxy\network\socks5.pyc", line 242, in processAuthentication
File "obfsproxy\network\socks5.pyc", line 139, in <lambda>
File "obfsproxy\network\socks5.pyc", line 328, in processNoAuthRequired
File "obfsproxy\network\socks5.pyc", line 396, in processRequest
File "obfsproxy\network\socks5.pyc", line 411, in processCmdConnect
File "obfsproxy\network\socks.pyc", line 156, in connectClass
File "obfsproxy\network\network.pyc", line 410, in create_proxy_client
File "txsocksx\client.pyc", line 12, in <module>
File "parsley.pyc", line 5, in <module>
File "terml\parser.pyc", line 88, in <module>
File "ometa\grammar.pyc", line 25, in loadGrammar
exceptions.IOError: [Errno 2] No such file or directory:
'C:\\[MyPath]\\TorBrowser\\Tor\\PluggableTransports\\obfsproxy.zip\\terml\\terml.parsley'
2014-07-26 15:22:01,470 [DEBUG] socks_up_0x2458c30: Connection was lost
([Errno 2] No such file or directory:
'C:\\[MyPath]\\TorBrowser\\Tor\\PluggableTransports\\obfsproxy.zip\\terml\\terml.parsley').
2014-07-26 15:22:01,470 [DEBUG] socks_up_0x2458c30: Closing connection.
2014-07-26 15:22:01,470 [DEBUG] circ_0x24751c0: Tearing down circuit.
!------------LOG PIECE END---------------!
}}}
I came back to parsley !GitHub's repository, downloaded all *.parsley
files from "/terml/", and put them on the obfsproxy.zip folder, and:
Obfsproxy worked sucessfully with an HTTP Proxy!
I don't know if my solution is correct, but it's working, which is a great
advance. Thanks!
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12381#comment:23>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list