docs/en/pluggable-transports.wml
a382b35e
 ## translation metadata
 # Revision: $Revision$
 # Translation-Priority: 3-low
 
 #include "head.wmi" TITLE="Tor Project: Pluggable Transports" CHARSET="UTF-8"
 <div id="content" class="clearfix">
   <div id="breadcrumbs">
     <a href="<page index>">Home &raquo; </a>
     <a href="<page docs/documentation>">Documentation &raquo; </a>
     <a href="<page docs/pluggable-transports>">Pluggable Transports</a>
   </div>
   <div id="maincol">
     <h2>Tor: Pluggable Transports</h2>
     <hr>
 
     <p>
     An increasing number of censoring countries are using Deep Packet
     Inspection (DPI) to classify Internet traffic flows by protocol.
     While Tor uses <a href="<page docs/bridges>">bridge relays</a> to
     get around a censor that blocks by IP address, the censor can use
     DPI to recognize and filter Tor traffic flows even when they connect
     to unexpected IP addresses.
     </p>
 
     <p>
     Pluggable transports transform the Tor traffic flow between the client
     and the bridge. This way, censors who monitor traffic between the
     client and the bridge will see innocent-looking transformed traffic
     instead of the actual Tor traffic.
     External programs can talk to Tor clients and Tor bridges using the <a
 href="https://gitweb.torproject.org/torspec.git/blob/HEAD:/proposals/180-pluggable-transport.txt">pluggable
 transport API</a>, to make it easier to build interoperable programs.
     </p>
 
     <hr>
 
     <ul>
11ab2492
 
1cbc5143
     <li><b>Obfsproxy</b> is a Python framework for implementing new
     pluggable transports. It uses Twisted for its networking needs, and
11ab2492
     <a href="https://gitweb.torproject.org/pluggable-transports/pyptlib.git/blob/HEAD:/README.rst">pyptlib</a>
     for some pluggable transport-related features. It supports the
27d376ac
     <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/blob/HEAD:/doc/obfs2/obfs2-protocol-spec.txt">obfs2</a>
11ab2492
     and
27d376ac
     <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/blob/HEAD:/doc/obfs3/obfs3-protocol-spec.txt">obfs3</a>
11ab2492
     pluggable transports. Maintained by George Kadianakis. <br>
 
1cbc5143
     Status: <a href="https://www.torproject.org/projects/obfsproxy.html.en#download">Deployed</a>
a382b35e
     </li>
 
     <li><b>Flashproxy</b> turns ordinary web browsers into bridges using
     websockets, and has a little python stub to hook Tor clients to the
     websocket connection. See its
     <a href="http://crypto.stanford.edu/flashproxy/">web page</a>,
     <a href="https://gitweb.torproject.org/flashproxy.git">git repository</a>,
     and
     <a href="http://crypto.stanford.edu/flashproxy/flashproxy.pdf">design paper</a>.
50fb6721
     Maintained by David Fifield.
f2b3d11a
     # <iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe>
50fb6721
     <br>
53c08607
     Status: <a href="https://crypto.stanford.edu/flashproxy/#how-to">Deployed</a>
a382b35e
     </li>
 
e2e506dd
     <li><b>ScrambleSuit</b> is a pluggable transport that protects
     against follow-up probing attacks and is also capable of changing
     its network fingerprint (packet length distribution,
     inter-arrival times, etc.). It's part of the Obfsproxy framework. See its
     <a href="http://www.cs.kau.se/philwint/scramblesuit/">official page</a>.
     Maintained by Philipp Winter. <br>
     Status: <em>Undeployed</em>
     </li>
 
a382b35e
     <li><b>StegoTorus</b> is an Obfsproxy fork that extends it to a)
     split Tor streams across multiple connections to avoid packet size
     signatures, and b) embed the traffic flows in traces that look like
     html, javascript, or pdf. See its
     <a href="https://gitweb.torproject.org/stegotorus.git">git repository</a>.
b723ee17
     Maintained by Zack Weinberg. <br>
     Status: <em>Undeployed</em>
a382b35e
     </li>
 
     <li><b>SkypeMorph</b> transforms Tor traffic flows so they look like
     Skype Video. See its
     <a href="http://crysp.uwaterloo.ca/software/SkypeMorph-0.5.1.tar.gz">source code</a>
     and
     <a href="http://cacr.uwaterloo.ca/techreports/2012/cacr2012-08.pdf">design paper</a>.
b723ee17
     Maintained by Ian Goldberg. <br>
     Status: <em>Undeployed</em>
a382b35e
     </li>
 
     <li><b>Dust</b> aims to provide a packet-based (rather than
     connection-based) DPI-resistant protocol. See its
     <a href="https://github.com/blanu/Dust">git repository</a>.
b723ee17
     Maintained by Brandon Wiley. <br>
     Status: <em>Undeployed</em>
a382b35e
     </li>
 
a7c1e938
     <li><b>Format-Transforming Encryption</b> transforms Tor traffic
     to arbitrary formats using their language descriptions. See
14843a47
     the <a href="https://eprint.iacr.org/2012/494">research
b723ee17
     paper</a>. <br>
     Status: <em>Undeployed</em>
a7c1e938
     </li>
 
a382b35e
     </ul>
184fb7c4
     <hr>
 
     <p>
     Our goal is to have a wide variety of pluggable transport designs.
     Many are at the research phase now, so it's a perfect time to play
     with them or suggest new designs. Please let us know if you find or
     start other projects that could be useful for making Tor's traffic
     flows more DPI-resistant!
     </p>
a382b35e
 
   </div>
   <!-- END MAINCOL -->
   <div id = "sidecol">
 #include "side.wmi"
 #include "info.wmi"
   </div>
   <!-- END SIDECOL -->
 </div>
 <!-- END CONTENT -->
 #include <foot.wmi>