List of Pluggable Transports

Table of known PTs, tracking multiple different properties including language, platform support, TCP/UDP support, and other useful metrics:

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.
  • 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
  • Notes: Superseded by obfs3
  • Maintainer: asn
  • Evaluation: obfs2 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


  • Description: Modular obfs4 update with fingerprinting resistance, framing, negotiation, PQ
  • 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: Go / Python
  • Evaluation: Dust2 Evaluation
  • Maintainer: Brandon Wiley

Code Talker Tunnel (previously: SkypeMorph)

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



  • Description: multiplexing. mostly follows obfs4
  • Language: go
  • Maintainer: oxtoacart


  • Description: TLS encryption MITM'ed by a participating ISP
  • Language: Go (client) / Rust+C (server)
  • Notes: Unlike Telex, ISP uses a passive tap. Part of
  • Maintainer: Sergey

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.
Last modified 3 years ago Last modified on Nov 14, 2017, 10:57:37 AM