Version 4 (modified by isabela, 4 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.


  • 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

Format-Transforming Encryption (FTE)

  • 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.
  • Status: Developed.
  • Language: Python
  • Notes: Superseded by Dust2
  • Maintainer: Brandon Wiley


  • Description: Pluggable transport with modular output formats.
  • Status: Under development.
  • 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)
  • Status: Deployed (Tor Browser)
  • Language: Python
  • Maintainer: asn


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


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

Other PTs being developed


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


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


  • 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


  • 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


  • 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


  • 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


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