Skip to content

Upgrading your bridge to an Obfsproxy bridge

28. Apr 2013

A how-to… serving as a workaround for not having an installer, yet. Therefore it is not listed under the How-to page.

Since there is no package/installer for Windows to run an obfsproxy bridge I’ll instruct you on how to upgrade your already running bridge to support obfsproxy with obfs2 and obfs3.

This has been tested under Windows 7.
Other versions of Windows might work as well.

You require a bridge from the Tor 0.2.4.x branch (alpha at the time of writing) and have to download the Pluggable Transport Bundle for Windows.

1) Extract the content of the Pluggable Transport Bundle and navigate to the
\Data\ folder

2) Open the folder Tor writes to (usually %APPDATA%\Tor) and create a folder “transports” (or what you like to name it)

3) Copy or move the following files from \Data\ to %APPDATA%\Tor\transports\

api-ms-win-core-crt-l1-1-0.dll
api-ms-win-core-apiquery-l1-1-0.dll
api-ms-win-core-crt-l2-1-0.dll
api-ms-win-core-debug-l1-1-1.dll
api-ms-win-core-delayload-l1-1-1.dll
api-ms-win-core-errorhandling-l1-1-1.dll
api-ms-win-core-file-l1-2-0.dll
api-ms-win-core-handle-l1-1-0.dll
api-ms-win-core-heap-l1-2-0.dll
api-ms-win-core-heap-obsolete-l1-1-0.dll
api-ms-win-core-interlocked-l1-2-0.dll
api-ms-win-core-io-l1-1-1.dll
api-ms-win-core-libraryloader-l1-1-1.dll
api-ms-win-core-localization-l1-2-0.dll
api-ms-win-core-memory-l1-1-1.dll
api-ms-win-core-processenvironment-l1-2-0.dll
api-ms-win-core-processthreads-l1-1-1.dll
api-ms-win-core-profile-l1-1-0.dll
api-ms-win-core-registry-l1-1-0.dll
api-ms-win-core-string-l1-1-0.dll
api-ms-win-core-string-obsolete-l1-1-0.dll
api-ms-win-core-synch-l1-2-0.dll
api-ms-win-core-sysinfo-l1-2-0.dll
api-ms-win-core-util-l1-1-0.dll
api-ms-win-security-base-l1-2-0.dll
bz2.pyd
Crypto.Cipher._AES.pyd
Crypto.Util._counter.pyd
M2Crypto.__m2crypto.pyd
MSWSOCK.dll
pyexpat.pyd
pyobfsproxy.exe
pyobfsproxy.zip
python27.dll
pywintypes27.dll
select.pyd
unicodedata.pyd
w9xpopen.exe
win32api.pyd
win32event.pyd
win32file.pyd
win32gui.pyd
win32pipe.pyd
win32process.pyd
win32security.pyd
zope.interface._zope_interface_coptimizations.pyd
_ctypes.pyd
_hashlib.pyd
_socket.pyd
_ssl.pyd
_win32sysloader.pyd

Currently it is unclear what is required to run the server part, I identified those that are and highlighted them.
I highlighted those I got told which are probably required, as well.
However for the sake of it-just-works it is probably better to have some overhead.

4) Locate your torrc (the configuration file of Tor) which is usually stored at %localappdata%\vidalia

5) Open the torrc with notepad (or your preferred text editor) and add the following line

ServerTransportPlugin obfs2,obfs3 exec PATH-TO\pyobfsproxy.exe managed

Don’t forget to change PATH-TO with the actual path to pyobfsproxy.exe
If you launch your bridge Tor will launch pyobfsproxy.

6) You probably will have to enable port-forwarding for the ports that get picked for the transports.

How you do that depends on your firewall and router, which both should have a help to explain it to you.

7) Optionally you can set the local ports suggested by Tor (used when available)

ServerTransportListenAddr obfs2 0.0.0.0:PORT
ServerTransportListenAddr obfs3 0.0.0.0:PORT

Please replace each instance of “PORT” with a different port you want to use.

To see if everything works fine check if pyobfsproxy.exe is running and check the log for:

[...]
[Notice] Bootstrapped 100%: Done.
[Notice] Now checking whether ORPort [YOUR IP]:[PORT] is reachable... [...]
[Notice] Registered server transport 'obfs3' at '0.0.0.0:[PORT]'
[Notice] Registered server transport 'obfs2' at '0.0.0.0:[PORT]'
[Notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
[...]

You see Tor registered obfs3 and obfs2 successfully as transports.

Thank you for your contribution.

Advertisements

From → General

One Comment
  1. If you currently don’t run a bridge, but want to run an obfsproxy bridge on Windows all you have to do is download the Vidalia Bridge Bundle for Windows and install it, then repeat the steps of this instruction.

Comments are closed.

%d bloggers like this: