wiki:doc/PluggableTransports/list

Version 3 (modified by isabela, 3 years ago) (diff)

--

List of Pluggable Transports

Currently deployed PTs

These Pluggable Transports are currently deployed in Tor Browser, and you can start using them by downloading and using Tor Browser.

obfs4

  • 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

meek

  • Description: Uses HTTP, relays through a third party, TLS for obfuscation.
  • Language: Go.
  • Maintainer: David Fifield
  • Evaluation: meek Evaluation

Format-Transforming Encryption (FTE)

  • Description: Transforms data to arbitrary application-layer traffic.
  • Language: Python/C++
  • Maintainer: Kevin Dyer
  • Evaluation: FTE Evaluation

ScrambleSuit

  • 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)

Undeployed PTs

These Pluggable Transports exist but are not deployed as part of the Tor Browser.

obfs3

  • Description: Look-like-nothing pluggable transport (in obfsproxy)
  • Status: Deployed (Tor Browser)
  • Language: Python
  • Maintainer: asn

obfs2

  • Description: Look-like-nothing pluggable transport (in obfsproxy)
  • Status: Deployed (Tor Browser)
  • Language: Python
  • Notes: Superseded by obfs3
  • Maintainer: asn

Flashproxy

  • Description: Zerg-like browser-based proxies XXX
  • Status: Deployed (Tor Browser)
  • 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.

Deprecated PTs; Removed from Tor Browser

These PTs was once part of Tor Browser, but are not used anymore, most of the time because a better version have come out.

Dust

  • Description: Look-like-nothing pluggable transport.
  • Status: Developed.
  • Language: Python
  • Notes: Superseded by Dust2
  • Maintainer: Brandon Wiley

StegoTorus

  • Description: Pluggable transport with modular output formats.
  • Status: Under development.
  • Language: C++
  • Notes: Part of DEFIANCE framework
  • Maintainer: vmon (?)

Other PTs

bananaphone

  • Description: Markov-chains pluggable transport
  • Status: Under development.
  • Language: Python
  • Maintainer: David Stainton

LODP

  • Description: UDP-based pluggable transport.
  • Status: Under active development.
  • Language: C
  • Maintainer: Yawning

sshproxy

  • Description: SSH-based pluggable transport.
  • Status: Developed. Not deployed yet (lack of bundle building tech).
  • Language: Python
  • Notes: Actually uses the ssh binary
  • Maintainer: Yawning

hexchat

  • Description: XMPP-based pluggable transport.
  • Status: Developed. Not deployed yet.
  • Language: Python (SleekXMPP)
  • Notes: Bandwidth issues since most XMPP servers are throttled. Can be solved maybe with multiple hexchat bots.
  • Maintainer: Feynmann

Dust2

  • Description: Transforms traffic to arbitrary formats based on sample traffic.
  • Status: Under development.
  • Language: Haskell
  • Maintainer: Brandon Wiley

Code Talker Tunnel (previously: SkypeMorph)

  • Description: Skype-based pluggable transport
  • Status: Developed. Not deployed. (Ship Skype binary to users?!)
  • Language: C/C++
  • Notes: Actually uses the Skype binary
  • Maintainer: Ian Goldberg

git

  • Description: Git-based pluggable transport (in obfsproxy)
  • Status: Developed (?). Not deployed.
  • Language: Python
  • Notes: Git is poll-based. Slow.
  • Maintainer: Björgvin Ragnarsson && Pieter Westein

Castle

  • Description: Encodes messages as commands in online video games.
  • Status: Prototyped.
  • Language: C++.

PT libraries

  • pyptlib is a Python library which makes it easier to turn a proxy into a Tor pluggable transport.
  • goptlib is a pluggable transports library for golang. Check the example client and example server.
  • PLUTO: Pluggable Libraries Using Transport Obfuscation for Android.
  • liballium is a C/C++ library for people that absolutely need to use C or C++ for a pluggable transport.