[tor-dev] [GSoC] Pluggable Transports in Python Status Update

Brandon Wiley brandon at blanu.net
Mon Jul 2 17:12:35 UTC 2012

Status Update - Refactoring

There was a slight change in the schedule in that I moved refactoring up in
front of testing and debugging.

The major refactoring effort was in splitting the project into two parts.
The library for implementing the pluggable transport specification, with
environment variable parsing and printing of pluggable transport protocol
lines to stdout is now all that is included in pyptlib. The framework and
obfsproxy command line program replacement have been split off into

A high-level API has also been added to pyptlib which requires less
knowledge of the spec. It automatically parses environment variables and
generates protocol lines. The transport implementation just needs to get
the list of supported transports and then report success or failure for the
launch of each transport as well as the end of the transport launching
phase. Examples have been included in pyptlib for how to use the high-level
library and py-obfsproxy has been ported to the high-level library as well.

All of the code has also been reformatted according to PEP 8 guidelines.
Private methods have also been renamed to use the __foo syntax as specified
in the python style guidelines.

This week the focus is going to be on testing the framework and obfsproxy
command line replacement to get the dummy protocol working. One everything
is working the focus will shift to documenting the now hopefully stable
pyptlib API.

pyptlib: http://github.com/blanu/pyptlib

py-obfsproxy: http://github.com/blanu/py-obfsproxy

More posts on the blog: http://stepthreeprivacy.org/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.torproject.org/pipermail/tor-dev/attachments/20120702/be76b544/attachment.html>

More information about the tor-dev mailing list