Nima Fatemi commited on 2016-07-05 02:15:18
Zeige 1 geänderte Dateien mit 64 Einfügungen und 56 Löschungen.
- Broken the lists in three different sections:
'deployed', 'deprecated' and 'undeployed'
with a plan to move the last two sections to wiki.
- Style fixes: It's either 'Pluggable Transports' or 'PT' or 'PTs'.
- Added todo notes for later.
- Style fix: it's 'meek' not 'Meek'.
- Removed download section. It's either included in TB or not.
- Removed 'status'.
- Commented out 'obfsclient' since its status is unknown.
| ... | ... |
@@ -23,7 +23,7 @@ |
| 23 | 23 |
</p> |
| 24 | 24 |
|
| 25 | 25 |
<p> |
| 26 |
- Pluggable transports transform the Tor traffic flow between the client |
|
| 26 |
+ Pluggable Transports (PT) transform the Tor traffic flow between the client |
|
| 27 | 27 |
and the bridge. This way, censors who monitor traffic between the |
| 28 | 28 |
client and the bridge will see innocent-looking transformed traffic |
| 29 | 29 |
instead of the actual Tor traffic. |
| ... | ... |
@@ -34,82 +34,101 @@ transport API</a>, to make it easier to build interoperable programs. |
| 34 | 34 |
|
| 35 | 35 |
<hr> |
| 36 | 36 |
|
| 37 |
+ <h3>Currently deployed PTs</h3> |
|
| 38 |
+ <p> |
|
| 39 |
+ 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>. |
|
| 40 |
+ </p> |
|
| 41 |
+ <!-- TODO: make a link to how to config TB to use PTs --> |
|
| 42 |
+ |
|
| 37 | 43 |
<ul> |
| 38 | 44 |
|
| 39 |
- <li><a href="<page projects/obfsproxy>"><b>Obfsproxy</b></a> is a Python framework for implementing new |
|
| 40 |
- pluggable transports. It uses Twisted for its networking needs, and |
|
| 41 |
- <a href="https://gitweb.torproject.org/pluggable-transports/pyptlib.git/tree/README.rst">pyptlib</a> |
|
| 42 |
- for some pluggable transport-related features. It supports the |
|
| 43 |
- <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs2/obfs2-protocol-spec.txt">obfs2</a> |
|
| 44 |
- and |
|
| 45 |
- <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs3/obfs3-protocol-spec.txt">obfs3</a> |
|
| 46 |
- pluggable transports. Maintained by asn. <br> |
|
| 47 |
- Status: <a href="#download">Deployed</a> |
|
| 45 |
+ <li><a href="https://github.com/Yawning/obfs4/blob/master/doc/obfs4-spec.txt"><b>obfs4</b></a> |
|
| 46 |
+ is a transport with the same features as <a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a> |
|
| 47 |
+ but utilizing Dan Bernstein's <a href="http://elligator.cr.yp.to/elligator-20130828.pdf">elligator2</b></a> |
|
| 48 |
+ technique for public key obfuscation, and the |
|
| 49 |
+ <a href="https://gitweb.torproject.org/torspec.git/tree/proposals/216-ntor-handshake.txt">ntor protocol</a> |
|
| 50 |
+ for one-way authentication. This results in a faster protocol. Written in Go. |
|
| 51 |
+ Maintained by Yawning Angel. |
|
| 48 | 52 |
</li> |
| 53 |
+ <!-- TODO: update the link with repo hosted on git.tpo. and make a note that this client supports obfs3 --> |
|
| 49 | 54 |
|
| 50 |
- <li><a href="https://crypto.stanford.edu/flashproxy/"><b>Flashproxy</b></a> turns ordinary web browsers into bridges using |
|
| 51 |
- websockets, and has a little python stub to hook Tor clients to the |
|
| 52 |
- websocket connection. See its |
|
| 53 |
- <a href="https://gitweb.torproject.org/flashproxy.git">git repository</a>, |
|
| 54 |
- and |
|
| 55 |
- <a href="https://crypto.stanford.edu/flashproxy/flashproxy.pdf">design paper</a>. |
|
| 55 |
+ <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/meek"><b>meek</b></a> |
|
| 56 |
+ is a transport that uses HTTP for carrying bytes and TLS for |
|
| 57 |
+ obfuscation. Traffic is relayed through a third-party server |
|
| 58 |
+ (Google App Engine). It uses a trick to talk to the third party so |
|
| 59 |
+ that it looks like it is talking to an unblocked server. |
|
| 56 | 60 |
Maintained by David Fifield. |
| 57 |
- # <iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe> |
|
| 58 |
- <br> |
|
| 59 |
- Status: <a href="#download">Deployed</a> |
|
| 60 | 61 |
</li> |
| 62 |
+ <!-- TODO: add more info about meek. include amazon and azure and maybe remove google for now --> |
|
| 61 | 63 |
|
| 62 | 64 |
<li><a href="https://fteproxy.org/"><b>Format-Transforming |
| 63 | 65 |
Encryption</b></a> (FTE) transforms Tor traffic to arbitrary |
| 64 | 66 |
formats using their language descriptions. See the <a |
| 65 | 67 |
href="https://kpdyer.com/publications/ccs2013-fte.pdf">research |
| 66 |
- paper</a>. <br> Status: <a href="#download">Deployed</a> </li> |
|
| 68 |
+ paper</a>.</li> |
|
| 67 | 69 |
|
| 68 | 70 |
<li><a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a> |
| 69 | 71 |
is a pluggable transport that protects |
| 70 | 72 |
against follow-up probing attacks and is also capable of changing |
| 71 | 73 |
its network fingerprint (packet length distribution, |
| 72 | 74 |
inter-arrival times, etc.). It's part of the Obfsproxy framework. |
| 73 |
- Maintained by Philipp Winter. <br> |
|
| 74 |
- Status: <em>To be deployed</em> |
|
| 75 |
+ Maintained by Philipp Winter. |
|
| 75 | 76 |
</li> |
| 76 | 77 |
|
| 77 |
- <li><a href="https://trac.torproject.org/projects/tor/wiki/doc/meek"><b>Meek</b></a> |
|
| 78 |
- is a transport that uses HTTP for carrying bytes and TLS for |
|
| 79 |
- obfuscation. Traffic is relayed through a third-party server |
|
| 80 |
- (Google App Engine). It uses a trick to talk to the third party so |
|
| 81 |
- that it looks like it is talking to an unblocked server. |
|
| 82 |
- Maintained by David Fifield. <br> |
|
| 83 |
- Status: <e>Coming soon</em> |
|
| 84 |
- </li> |
|
| 85 |
- |
|
| 86 |
- <li><a href="https://github.com/Yawning/obfs4/blob/master/doc/obfs4-spec.txt"><b>obfs4</b></a> |
|
| 87 |
- is a transport with the same features as <a href="http://www.cs.kau.se/philwint/scramblesuit/"><b>ScrambleSuit</b></a> |
|
| 88 |
- but utilizing Dan Bernstein's <a href="http://elligator.cr.yp.to/elligator-20130828.pdf">elligator2</b></a> |
|
| 89 |
- technique for public key obfuscation, and the |
|
| 90 |
- <a href="https://gitweb.torproject.org/torspec.git/tree/proposals/216-ntor-handshake.txt">ntor protocol</a> |
|
| 91 |
- for one-way authentication. This results in a faster protocol. Written in Go. |
|
| 92 |
- Maintained by Yawning Angel. <br> |
|
| 93 |
- Status: <e>Coming soon</em> |
|
| 94 |
- </li> |
|
| 95 |
- |
|
| 96 |
- <li><a href="https://github.com/yawning/obfsclient"><b>obfsclient</b></a> |
|
| 78 |
+ <!-- TODO: it's unclear whether orbot still uses obfsclient or not; |
|
| 79 |
+ commenting out untill furthure notice --> |
|
| 80 |
+ <!-- <li><a href="https://github.com/yawning/obfsclient"><b>obfsclient</b></a> |
|
| 97 | 81 |
is a multi-transport pluggable transport proxy (like obfsproxy), |
| 98 | 82 |
written in C++ that implements the client-side of <em>obfs2</em>, |
| 99 | 83 |
<em>obfs3</em> and <em>scramblesuit</em>. It's used by |
| 100 | 84 |
<a href="https://guardianproject.info/apps/orbot/">Orbot</a> on |
| 101 | 85 |
Android because of the difficulties of using Python applications. |
| 102 | 86 |
Maintained by Yawning Angel. <br> |
| 103 |
- Status: <a href="https://guardianproject.info/apps/orbot/">Deployed</a> |
|
| 87 |
+ </li> --> |
|
| 88 |
+ |
|
| 89 |
+ </ul> |
|
| 90 |
+ |
|
| 91 |
+ <hr> |
|
| 92 |
+ |
|
| 93 |
+ <h3>Deprecated PTs; Removed from Tor Browser</h3> |
|
| 94 |
+ |
|
| 95 |
+ <ul> |
|
| 96 |
+ <!-- TODO: add deprecation note for each PT --> |
|
| 97 |
+ <li><a href="<page projects/obfsproxy>"><b>Obfsproxy</b></a> is a Python framework for implementing new |
|
| 98 |
+ pluggable transports. It uses Twisted for its networking needs, and |
|
| 99 |
+ <a href="https://gitweb.torproject.org/pluggable-transports/pyptlib.git/tree/README.rst">pyptlib</a> |
|
| 100 |
+ for some pluggable transport-related features. It supports the |
|
| 101 |
+ <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs2/obfs2-protocol-spec.txt">obfs2</a> |
|
| 102 |
+ and |
|
| 103 |
+ <a href="https://gitweb.torproject.org/pluggable-transports/obfsproxy.git/tree/doc/obfs3/obfs3-protocol-spec.txt">obfs3</a> |
|
| 104 |
+ pluggable transports. Maintained by asn. |
|
| 104 | 105 |
</li> |
| 105 | 106 |
|
| 107 |
+ <li><a href="https://crypto.stanford.edu/flashproxy/"><b>Flashproxy</b></a> turns ordinary web browsers into bridges using |
|
| 108 |
+ websockets, and has a little python stub to hook Tor clients to the |
|
| 109 |
+ websocket connection. See its |
|
| 110 |
+ <a href="https://gitweb.torproject.org/flashproxy.git">git repository</a>, |
|
| 111 |
+ and |
|
| 112 |
+ <a href="https://crypto.stanford.edu/flashproxy/flashproxy.pdf">design paper</a>. |
|
| 113 |
+ Maintained by David Fifield. |
|
| 114 |
+ <!-- # <iframe src="//crypto.stanford.edu/flashproxy/embed.html" width="80" height="15" frameborder="0" scrolling="no"></iframe> --> |
|
| 115 |
+ </li> |
|
| 116 |
+ |
|
| 117 |
+ </ul> |
|
| 118 |
+ |
|
| 119 |
+ <hr> |
|
| 120 |
+ |
|
| 121 |
+ <h3>Undeployed PTs</h3> |
|
| 122 |
+ <!-- TODO: move this section to wiki --> |
|
| 123 |
+ <!-- TODO: add snowflake --> |
|
| 124 |
+ <ul> |
|
| 125 |
+ |
|
| 106 | 126 |
<li><b>StegoTorus</b> is an Obfsproxy fork that extends it to a) |
| 107 | 127 |
split Tor streams across multiple connections to avoid packet size |
| 108 | 128 |
signatures, and b) embed the traffic flows in traces that look like |
| 109 | 129 |
html, javascript, or pdf. See its |
| 110 | 130 |
<a href="https://gitweb.torproject.org/stegotorus.git">git repository</a>. |
| 111 | 131 |
Maintained by Zack Weinberg. <br> |
| 112 |
- Status: <em>Undeployed</em> |
|
| 113 | 132 |
</li> |
| 114 | 133 |
|
| 115 | 134 |
<li><b>SkypeMorph</b> transforms Tor traffic flows so they look like |
| ... | ... |
@@ -118,14 +137,12 @@ transport API</a>, to make it easier to build interoperable programs. |
| 118 | 137 |
and |
| 119 | 138 |
<a href="http://cacr.uwaterloo.ca/techreports/2012/cacr2012-08.pdf">design paper</a>. |
| 120 | 139 |
Maintained by Ian Goldberg. <br> |
| 121 |
- Status: <em>Undeployed</em> |
|
| 122 | 140 |
</li> |
| 123 | 141 |
|
| 124 | 142 |
<li><b>Dust</b> aims to provide a packet-based (rather than |
| 125 | 143 |
connection-based) DPI-resistant protocol. See its |
| 126 | 144 |
<a href="https://github.com/blanu/Dust">git repository</a>. |
| 127 | 145 |
Maintained by Brandon Wiley. <br> |
| 128 |
- Status: <em>Undeployed</em> |
|
| 129 | 146 |
</li> |
| 130 | 147 |
|
| 131 | 148 |
</ul> |
| ... | ... |
@@ -137,22 +154,13 @@ transport API</a>, to make it easier to build interoperable programs. |
| 137 | 154 |
<hr> |
| 138 | 155 |
|
| 139 | 156 |
<p> |
| 140 |
- Our goal is to have a wide variety of pluggable transport designs. |
|
| 157 |
+ Our goal is to have a wide variety of Pluggable Transport designs. |
|
| 141 | 158 |
Many are at the research phase now, so it's a perfect time to play |
| 142 | 159 |
with them or suggest new designs. Please let us know if you find or |
| 143 | 160 |
start other projects that could be useful for making Tor's traffic |
| 144 | 161 |
flows more DPI-resistant! |
| 145 | 162 |
</p> |
| 146 | 163 |
|
| 147 |
- <hr> |
|
| 148 |
- <a id="download"></a> |
|
| 149 |
- <h2><a href="<page download/download-easy>">Download the Pluggable Transports Tor Browser</a></h2> |
|
| 150 |
- <p> |
|
| 151 |
- As of Tor Browser 3.6-beta-1, pluggable transports are now included in the |
|
| 152 |
-<a href="<page download/download-easy>">official |
|
| 153 |
-Tor Browser packages</a>. |
|
| 154 |
- </p> |
|
| 155 |
- |
|
| 156 | 164 |
</div> |
| 157 | 165 |
<!-- END MAINCOL --> |
| 158 | 166 |
<div id = "sidecol"> |
| 159 | 167 |