Currently deployed Pluggable Transports
These Pluggable Transports are currently deployed in Tor Browser, and you can start using them by downloading and using Tor Browser.
- Description: Is a transport with the same features as ScrambleSuit but utilizing Dan Bernstein’s elligator2 technique for public key obfuscation, and the tor protocol for one-way authentication. This results in a faster protocol.
- Language: Go
- Maintainer: Yawning Angel
- Evaluation: obfs4 Evaluation
- Description: Uses HTTP, relays through a third party, TLS for obfuscation.
- Language: Go.
- Maintainer: David Fifield
- Evaluation: meek Evaluation
- Description: Transforms data to arbitrary application-layer traffic.
- Language: Python/C++
- Maintainer: Kevin Dyer
- Evaluation: FTE Evaluation
- Description: Sophisticated look-like-nothing pluggable transport (in obfsproxy)
- Language: Python
- Maintainer: Philipp Winter
- Evaluation: ScrambleSuit Evaluation
- Status: Deployed, but superseded by obfs4 (Tor Browser)
Deprecated PTs;
These PTs was once part of Tor Browser, but are not used anymore, most of the time because a better version have come out.
- Description: Look-like-nothing pluggable transport.
- Language: Python
- Notes: Superseded by Dust2
- Maintainer: Brandon Wiley
- Description: Pluggable transport with modular output formats.
- Language: C++
- Notes: Part of DEFIANCE framework
- Maintainer: vmon (?)
Undeployed PTs
These Pluggable Transports exist but are not deployed as part of the Tor Browser.
- Description: Look-like-nothing pluggable transport (in obfsproxy)
- Language: Python
- Maintainer: asn
- Evaluation: obfs3 Evaluation
- Description: Look-like-nothing pluggable transport (in obfsproxy)
- Language: Python
- Notes: Superseded by obfs3
- Maintainer: asn
- Evaluation: obfs2 Evaluation
- Description: Zerg-like browser-based proxies XXX
- Language: Python, Go, Javascript
- Maintainer: David Fifield
- Uses websocket-server on the server side, which can also be used with a standalone websocket-client, without going through a flash proxy.
- Evaluation: Flashproxy Evaluation
Other PTs being developed
- Description: Intends to modernize the flashproxy concept with a more modern NAT traversal algorithm centered around WebRTC.
- Language: The implementation is mostly Go, except for the WebRTC implementation, written in C/C++, which is called from the Go application via the cgo FFI interface.
- Maintainer: Serene H.
- Evaluation: SnowFlake Evaluation
[basket2]
- Description:
- Language: Go
- Maintainer: Yawning
- Evaluation: basket2 Evaluation
- Description: transforms Tor traffic flows so they look like Skype Video – design paper.
- Maintained: Ian Goldberg.
- Description: Markov-chains pluggable transport
- Language: Python
- Maintainer: David Stainton
- Description: UDP-based pluggable transport.
- Language: C
- Maintainer: Yawning
- Description: SSH-based pluggable transport.
- Language: Python
- Notes: Actually uses the ssh binary
- Maintainer: Yawning
- Description: XMPP-based pluggable transport.
- Language: Python (SleekXMPP)
- Notes: Bandwidth issues since most XMPP servers are throttled. Can be solved maybe with multiple hexchat bots.
- Maintainer: Feynmann
- Description: Transforms traffic to arbitrary formats based on sample traffic.
- Language: Haskell
- Evaluation: Dust2 Evaluation
- Maintainer: Brandon Wiley
- Description: Skype-based pluggable transport
- Language: C/C++
- Notes: Actually uses the Skype binary
- Maintainer: Ian Goldberg
- Description: Git-based pluggable transport (in obfsproxy)
- Language: Python
- Notes: Git is poll-based. Slow.
- Maintainer: Björgvin Ragnarsson && Pieter Westein
- Description: Encodes messages as commands in online video games.
- Status: Prototyped.
- Language: C++