Pages

Thursday, 29 September 2016

List of Pluggable Transports

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: 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++