f1819af6f6be1c09cbd31eab8525359356673a0c
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

1) ## translation metadata
2) # Revision: $Revision$
3) # Translation-Priority: 3-low
4) 
5) #include "head.wmi" TITLE="Tor Project: Pluggable Transports" CHARSET="UTF-8"
6) <div id="content" class="clearfix">
7)   <div id="breadcrumbs">
8)     <a href="<page index>">Home &raquo; </a>
9)     <a href="<page docs/documentation>">Documentation &raquo; </a>
10)     <a href="<page docs/pluggable-transports>">Pluggable Transports</a>
11)   </div>
12)   <div id="maincol">
13)     <h2>Tor: Pluggable Transports</h2>
14)     <hr>
15) 
16)     <p>
17)     An increasing number of censoring countries are using Deep Packet
18)     Inspection (DPI) to classify Internet traffic flows by protocol.
19)     While Tor uses <a href="<page docs/bridges>">bridge relays</a> to
20)     get around a censor that blocks by IP address, the censor can use
21)     DPI to recognize and filter Tor traffic flows even when they connect
22)     to unexpected IP addresses.
23)     </p>
24) 
25)     <p>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 8 years ago

26)     Pluggable Transports (PT) transform the Tor traffic flow between the client
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

27)     and the bridge. This way, censors who monitor traffic between the
28)     client and the bridge will see innocent-looking transformed traffic
29)     instead of the actual Tor traffic.
30)     External programs can talk to Tor clients and Tor bridges using the <a
Matt Pagan cgit version of blob_plain/...

Matt Pagan authored 9 years ago

31) href="https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt">pluggable
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

32) transport API</a>, to make it easier to build interoperable programs.
33)     </p>
34) 
Nima Fatemi add graphic instructions on...

Nima Fatemi authored 8 years ago

35)     <h3>How to use PTs to bypass censorship</h3>
36)     <p>
Sebastian Hahn Fix up PT changes

Sebastian Hahn authored 8 years ago

37)       If connections to the Tor network are being blocked by your ISP or
38)       country, follow these instructions:
Nima Fatemi add graphic instructions on...

Nima Fatemi authored 8 years ago

39)     </p>
40)     <a href="$(IMGROOT)/PT/2016-07-how-to-use-PT.png">
41)     <img src="$(IMGROOT)/PT/2016-07-how-to-use-PT.png" width="830"
42)     alt="How to use PTs: 1-download tor (send email to gettor@torproject.org) 2-select configure 3-check 'my isp blocks tor...'
43)     4-select obfs4 5-press connect" /></a>
44)     <!-- TODO: move alt to instructions in plain text for visually impaird users -->
45) 
Nima Fatemi add link to obfs4 instructions

Nima Fatemi authored 8 years ago

46)     <h3>How to run PTs to help censored users</h3>
47)     <p>
48)       obfs4 is currently the most effective transport to bypass censorship.
Sebastian Hahn Fix up PT changes

Sebastian Hahn authored 8 years ago

49)       To learn how to run this transport, please visit the <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/obfs4proxy">obfs4proxy wiki page</a>.
Nima Fatemi add link to obfs4 instructions

Nima Fatemi authored 8 years ago

50)     </p>
51) 
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

52)     <hr>
53) 
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 8 years ago

54)     <h3>Currently deployed PTs</h3>
55)     <p>
56)       These Pluggable Transports are currently deployed in Tor Browser, and you can start using them by <a href="<page download/download-easy>">downloading and using Tor Browser</a>.
57)     </p>
58) 
59)       <ul>
60) 
61)         <li><a href="https://github.com/Yawning/obfs4/blob/master/doc/obfs4-spec.txt"><b>obfs4</b></a>
62)         is a transport with the same features as <a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a>
63)         but utilizing Dan Bernstein's <a href="http://elligator.cr.yp.to/elligator-20130828.pdf">elligator2</b></a>
64)         technique for public key obfuscation, and the
65)         <a href="https://gitweb.torproject.org/torspec.git/tree/proposals/216-ntor-handshake.txt">ntor protocol</a>
66)         for one-way authentication. This results in a faster protocol. Written in Go.
67)         Maintained by Yawning Angel.
68)         </li>
69)         <!-- TODO: update the link with repo hosted on git.tpo. and make a note that this client supports obfs3 -->
70) 
71)         <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/meek"><b>meek</b></a>
72)         is a transport that uses HTTP for carrying bytes and TLS for
73)         obfuscation. Traffic is relayed through a third-party server
74)         (​Google App Engine). It uses a trick to talk to the third party so
75)         that it looks like it is talking to an unblocked server.
76)         Maintained by David Fifield.
77)         </li>
78)         <!-- TODO: add more info about meek. include amazon and azure and maybe remove google for now -->
79) 
80)         <li><a href="https://fteproxy.org/"><b>Format-Transforming
81)         Encryption</b></a> (FTE) transforms Tor traffic to arbitrary
82)         formats using their language descriptions. See the <a
83)         href="https://kpdyer.com/publications/ccs2013-fte.pdf">research
84)         paper</a>.</li>
85) 
86)         <li><a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a>
87)         is a pluggable transport that protects
88)         against follow-up probing attacks and is also capable of changing
89)         its network fingerprint (packet length distribution,
90)         inter-arrival times, etc.). It's part of the Obfsproxy framework.
91)         Maintained by Philipp Winter.
92)         </li>
93) 
94)         <!-- TODO: it's unclear whether orbot still uses obfsclient or not;
95)                    commenting out untill furthure notice -->
96)         <!-- <li><a href="https://github.com/yawning/obfsclient"><b>obfsclient</b></a>
97)         is a multi-transport pluggable transport proxy (like obfsproxy),
98)         written in C++ that implements the client-side of <em>obfs2</em>,
99)         <em>obfs3</em> and <em>scramblesuit</em>. It's used by
100)         <a href="https://guardianproject.info/apps/orbot/">Orbot</a> on
101)         Android because of the difficulties of using Python applications.
102)         Maintained by Yawning Angel. <br>
103)         </li> -->
104) 
105)       </ul>
106) 
107)       <hr>
108) 
109)       <h3>Deprecated PTs; Removed from Tor Browser</h3>
Nima Fatemi add breaks after h3 titles

Nima Fatemi authored 8 years ago

110)       <br>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 8 years ago

111)       <ul>
112)         <!-- TODO: add deprecation note for each PT -->
Sebastian Hahn Remove link to same page vi...

Sebastian Hahn authored 8 years ago

113)         <li><b>Obfsproxy</b> is a Python framework for implementing new
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 8 years ago

114)         pluggable transports. It uses Twisted for its networking needs, and
115)         <a href="https://gitweb.torproject.org/pluggable-transports/pyptlib.git/tree/README.rst">pyptlib</a>
116)         for some pluggable transport-related features. It supports the
117)         <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs2/obfs2-protocol-spec.txt">obfs2</a>
118)         and
119)         <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs3/obfs3-protocol-spec.txt">obfs3</a>
120)         pluggable transports. Maintained by asn.
121)         </li>
122) 
123)         <li><a href="https://crypto.stanford.edu/flashproxy/"><b>Flashproxy</b></a> turns ordinary web browsers into bridges using
124)         websockets, and has a little python stub to hook Tor clients to the
125)         websocket connection. See its
126)         <a href="https://gitweb.torproject.org/flashproxy.git">git repository</a>,
127)         and
128)         <a href="https://crypto.stanford.edu/flashproxy/flashproxy.pdf">design paper</a>.
129)         Maintained by David Fifield.
130)         <!-- # <iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe> -->
131)         </li>
132) 
133)       </ul>
134) 
135)       <hr>
136) 
137)       <h3>Undeployed PTs</h3>
Nima Fatemi add breaks after h3 titles

Nima Fatemi authored 8 years ago

138)       <br>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 8 years ago

139)       <!-- TODO: move this section to wiki -->
140)       <!-- TODO: add snowflake -->
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

141)     <ul>
George Kadianakis Add pyobfsproxy to the PT p...

George Kadianakis authored 11 years ago

142) 
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

143)     <li><b>StegoTorus</b> is an Obfsproxy fork that extends it to a)
144)     split Tor streams across multiple connections to avoid packet size
145)     signatures, and b) embed the traffic flows in traces that look like
Sebastian Hahn Capitalize some stuff

Sebastian Hahn authored 8 years ago

146)     HTML, JavasCript, or PDF. See its
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

147)     <a href="https://gitweb.torproject.org/stegotorus.git">git repository</a>.
George Kadianakis Add status information on t...

George Kadianakis authored 11 years ago

148)     Maintained by Zack Weinberg. <br>
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

149)     </li>
150) 
151)     <li><b>SkypeMorph</b> transforms Tor traffic flows so they look like
152)     Skype Video. See its
153)     <a href="http://crysp.uwaterloo.ca/software/SkypeMorph-0.5.1.tar.gz">source code</a>
154)     and
155)     <a href="http://cacr.uwaterloo.ca/techreports/2012/cacr2012-08.pdf">design paper</a>.
George Kadianakis Add status information on t...

George Kadianakis authored 11 years ago

156)     Maintained by Ian Goldberg. <br>
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

157)     </li>
158) 
159)     <li><b>Dust</b> aims to provide a packet-based (rather than
160)     connection-based) DPI-resistant protocol. See its
161)     <a href="https://github.com/blanu/Dust">git repository</a>.
George Kadianakis Add status information on t...

George Kadianakis authored 11 years ago

162)     Maintained by Brandon Wiley. <br>
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 12 years ago

163)     </li>
164) 
165)     </ul>
George Kadianakis Mention the PT wiki page in...

George Kadianakis authored 11 years ago

166) 
167)     <p> Also see the <emph>unofficial</emph> pluggable transports <a
168)     href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports">wiki
169)     page</a> for more pluggable transport information.</p>
170) 
Roger Dingledine tell us about new pluggable...

Roger Dingledine authored 12 years ago

171)     <hr>
172) 
173)     <p>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 8 years ago

174)     Our goal is to have a wide variety of Pluggable Transport designs.
Roger Dingledine tell us about new pluggable...

Roger Dingledine authored 12 years ago

175)     Many are at the research phase now, so it's a perfect time to play
176)     with them or suggest new designs. Please let us know if you find or
177)     start other projects that could be useful for making Tor's traffic
178)     flows more DPI-resistant!
179)     </p>