## 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 » </a>
<a href="<page docs/documentation>">Documentation » </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/tree/pt-spec.txt">pluggable
transport API</a>, to make it easier to build interoperable programs.
</p>
<hr>
<ul>
<li><a href="<page projects/obfsproxy>"><b>Obfsproxy</b></a> is a Python framework for implementing new
pluggable transports. It uses Twisted for its networking needs, and
<a href="https://gitweb.torproject.org/pluggable-transports/pyptlib.git/tree/README.rst">pyptlib</a>
for some pluggable transport-related features. It supports the
<a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs2/obfs2-protocol-spec.txt">obfs2</a>
and
<a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs3/obfs3-protocol-spec.txt">obfs3</a>
pluggable transports. Maintained by asn. <br>
Status: <a href="#download">Deployed</a>
</li>
<li><a href="https://crypto.stanford.edu/flashproxy/"><b>Flashproxy</b></a> turns ordinary web browsers into bridges using
websockets, and has a little python stub to hook Tor clients to the