41612b5f7d12a764c8f4673e682ed9d2e0b7377f
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 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">
toya updated pt page organizing...

toya authored 7 years ago

13)     <h1>Tor: Pluggable Transports</h1>
14)     
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

15)     <hr>
toya updated pt page organizing...

toya authored 7 years ago

16)     
17)     <h3>Sometimes the Tor network is censored, and you can't connect it.</h3>
18)     
19)     <br />
20)     
21)     <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.
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

22)     </p>
23) 
toya updated pt page organizing...

toya authored 7 years ago

24)     <h3>Pluggable Transports help you bypass censorship against Tor.</h3>
25)     
26)     <br />
27)     
28)     <p>Pluggable Transports (PT) 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.
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

29)     </p>
30) 
toya updated pt page organizing...

toya authored 7 years ago

31) 
32)     <h3>Here you will learn:</h3>
33)     
34)     <br />
35)     
36)     <ul>
37)         <li><a href="#user">How to use a Pluggable Transport</a></li>
38)         <li><a href="#operator">How to become a PT bridge operator</a></li>
39)         <li><a href="#developer">How to become a PT developer</a></li>
40)         <li><a href="#list-of-pts">List of PTs organized by their status</a></li>
41)     </ul>
42)     <br /><hr>
43) 
44)     <h2 id="user">How to use PTs to bypass censorship</h2>
45)     <p>If connections to the Tor network are being blocked by your ISP or country, follow these instructions:
Nima Fatemi add graphic instructions on...

Nima Fatemi authored 7 years ago

46)     </p>
toya updated pt page organizing...

toya authored 7 years ago

47)     
48)     <a href="$(IMGROOT)/PT/2016-07-how-to-use-PT.png"> <img src="$(IMGROOT)/PT/2016-07-how-to-use-PT.png" width="830" alt="How to use PTs: 1-download tor (send email to gettor@torproject.org); 2 select configure 3; check my isp blocks tor option; 4 select obfs4; 5 press connect" /></a>
Nima Fatemi add graphic instructions on...

Nima Fatemi authored 7 years ago

49)     <!-- TODO: move alt to instructions in plain text for visually impaird users -->
50) 
toya updated pt page organizing...

toya authored 7 years ago

51)     <br /><br />
52) 
53)     <hr>
54) 
55)     <h2 id="operator">Become a PT brigde operator:</h2>
56) 
Nima Fatemi add link to obfs4 instructions

Nima Fatemi authored 7 years ago

57)     <h3>How to run PTs to help censored users</h3>
toya updated pt page organizing...

toya authored 7 years ago

58) 
59)     <br />
60) 
61)     <p>Anyone can set up a PT bridge server and help provide bandwidth to users who needs it. Once you set up a transport type, your bridge will automatically advertise support for the transport in its descriptor.</p>
62) 
63)     <p><strong>obfs4</strong> is currently the most effective transport to bypass censorship. We are asking voluntters to run bridges for it.<br />
64)     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 7 years ago

65)     </p>
66) 
toya updated pt page organizing...

toya authored 7 years ago

67)     <p><a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports#BecomeaPTbridgeoperator">Go to our wiki</a> to learn how to set up other types of PTs.</p>
68) 
69)     <hr>
70) 
71)     <h2 id="developer">Become a PT developer:</h2>
72) 
73)     <p> The links below are the main documentation that will help guide through what you should consider while designing your PT:</p>
74) 
75)     <ul>
76)         <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/GuidelinesForDeployingPTs">Guidelines for deploying Pluggable Transports on Tor Browser</a></li>
77)         <li><a href="https://gitweb.torproject.org/torspec.git/tree/pt-spec.txt">PT technical spec</a>​</li>
78)         <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/PTEvaluationCriteria">Pluggable Transports Evaluation Criteria</a></li>
79)     </ul>
80) 
81)     <p><a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports">Our wiki</a> is also a great source of information, such as how to <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports#Waystofollowandjointheconversation:">get in touch with the community</a>, <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/ideas">ideas for new PTs</a>, how to <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/WorkListForDevsToHelpOutWith">help with PTs already deployed</a> and much more.</p>
82) 
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

83)     <hr>
84) 
toya updated pt page organizing...

toya authored 7 years ago

85)     <h2 id="list-of-pts">List of PTs organized by status:</h2>
86) 
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 7 years ago

87)     <h3>Currently deployed PTs</h3>
toya updated pt page organizing...

toya authored 7 years ago

88) 
89)     <p>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>.
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 7 years ago

90)     </p>
91) 
92)       <ul>
toya updated pt page organizing...

toya authored 7 years ago

93)         <li><a href="https://github.com/Yawning/obfs4/blob/master/doc/obfs4-spec.txt"><b>obfs4</b></a></li>
94)             <ul>
95)             <li><strong>Description:</strong> Is a transport with the same features as <a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a> but utilizing Dan Bernstein's <a href="http://elligator.cr.yp.to/elligator-20130828.pdf">elligator2</b></a> technique for public key obfuscation, and the <a href="https://gitweb.torproject.org/torspec.git/tree/proposals/216-ntor-handshake.txt">ntor protocol</a> for one-way authentication. This results in a faster protocol.</li>
96)             <li><strong>Language:</strong> Go</li>
97)             <li><strong>Maintainer:</strong> Yawning Angel</li>
98)             <li><strong>Evaluation:</strong> <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/Obfs4Evaluation">obfs4 Evaluation</a></li>
99)             </ul>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 7 years ago

100)         </li>
101)         <!-- TODO: update the link with repo hosted on git.tpo. and make a note that this client supports obfs3 -->
102) 
toya updated pt page organizing...

toya authored 7 years ago

103)         <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/meek"><b>meek</b></a></li>
104)             <ul>
105)                 <li><strong>Description:</strong> Is a transport that uses HTTP for carrying bytes and TLS for obfuscation. Traffic is relayed through a third-party server (​Google App Engine). It uses a trick to talk to the third party so that it looks like it is talking to an unblocked server.</li>
106)                 <li><strong>Language:</strong> Go</li>
107)                 <li><strong>Maintainer:</strong> David Fifield</li>
108)                 <li><strong>Evaluation:</strong> <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/MeekEvaluation">meek Evaluation</a></li>
109)             </ul>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 7 years ago

110)         </li>
111)         <!-- TODO: add more info about meek. include amazon and azure and maybe remove google for now -->
112) 
toya updated pt page organizing...

toya authored 7 years ago

113)         <li><a href="https://fteproxy.org/"><b>Format-Transforming Encryption</b></a> (FTE)</li>
114)             <ul>
115)                 <li><strong>Description:</strong> It transforms Tor traffic to arbitrary
116)         formats using their language descriptions. See the <a href="https://kpdyer.com/publications/ccs2013-fte.pdf">research paper</a>.</li>
117)                 <li><strong>Language:</strong> Python/C++</li>
118)                 <li><strong>Maintainger:</strong> Kevin Dyer</li>
119)                 <li><strong>Evaluation:</strong> <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/FteEvaluation">FTE Evaluation</a></li>
120)             </ul> 
121)         </li>
122) 
123)         <li><a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a></li>
124)             <ul>
125)                 <li><strong>Description:</strong> 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.).</li>
126)                 <li><strong>Language:</strong> Python</li>
127)                 <li><strong>Maintainger:</strong> Philipp Winter</li>
128)                 <li><strong>Evaluation:</strong> <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/ScrambleSuitEvaluation"> ScrambleSuit Evaluation</a></li>
129)             </ul>
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 7 years ago

130)         </li>
131) 
132)         <!-- TODO: it's unclear whether orbot still uses obfsclient or not;
133)                    commenting out untill furthure notice -->
134)         <!-- <li><a href="https://github.com/yawning/obfsclient"><b>obfsclient</b></a>
135)         is a multi-transport pluggable transport proxy (like obfsproxy),
136)         written in C++ that implements the client-side of <em>obfs2</em>,
137)         <em>obfs3</em> and <em>scramblesuit</em>. It's used by
138)         <a href="https://guardianproject.info/apps/orbot/">Orbot</a> on
139)         Android because of the difficulties of using Python applications.
140)         Maintained by Yawning Angel. <br>
141)         </li> -->
142) 
143)       </ul>
144) 
toya updated pt page organizing...

toya authored 7 years ago

145)     <h3>Undeployed PTs</h3>
146)     <br />
Nima Fatemi Various changes on Pluggabl...

Nima Fatemi authored 7 years ago

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

Roger Dingledine authored 11 years ago

149)     <ul>
toya updated pt page organizing...

toya authored 7 years ago

150)     <li><b>StegoTorus</b></li>
151)         <ul>
152)             <li><strong>Description:</strong>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>.</li>
153)             <li><strong>Language:</strong> C++</li>
154)             <li><strong>Maintainger:</strong> Zack Weinberg</li>
155)             <li><strong>Evaluation:</strong> none</li>            
156)         </ul> 
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

157)     </li>
158) 
toya updated pt page organizing...

toya authored 7 years ago

159)             <li><b>SkypeMorph</b></li>
160)         <ul>
161)             <li><strong>Description:</strong> It 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>.</li>
162)             <li><strong>Language:</strong></li>
163)             <li><strong>Maintainger:</strong> Ian Goldberg.</li>
164)             <li><strong>Evaluation:</strong> none</li>            
165)         </ul>
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

166)     </li>
167) 
toya updated pt page organizing...

toya authored 7 years ago

168)     <li><b>Dust</b></li>
169)         <ul>
170)             <li><strong>Description:</strong> It 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>.</li>
171)             <li><strong>Language:</strong> Python</li>
172)             <li><strong>Maintainger:</strong> Brandon Wiley.</li>
173)             <li><strong>Evaluation:</strong> none</li>            
174)         </ul>
Roger Dingledine new page to keep track of o...

Roger Dingledine authored 11 years ago

175)     </li>
toya updated pt page organizing...

toya authored 7 years ago

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

Roger Dingledine authored 11 years ago

177)     </ul>
toya updated pt page organizing...

toya authored 7 years ago

178)     
179)     <br /><br />
George Kadianakis Mention the PT wiki page in...

George Kadianakis authored 10 years ago

180) 
181)     <p> Also see the <emph>unofficial</emph> pluggable transports <a
182)     href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports">wiki
183)     page</a> for more pluggable transport information.</p>
184) 
toya updated pt page organizing...

toya authored 7 years ago

185)     <p>Our goal is to have a wide variety of Pluggable Transport designs. You can check out a <a href="https://trac.torproject.org/projects/tor/wiki/doc/PluggableTransports/list">full list of Pluggables Transports here</a>.</p>
Roger Dingledine tell us about new pluggable...

Roger Dingledine authored 11 years ago

186) 
toya updated pt page organizing...

toya authored 7 years ago

187)     <p>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!
Roger Dingledine tell us about new pluggable...

Roger Dingledine authored 11 years ago

188)     </p>