Skip to main content

Pluggable Transports Python interface & standalone tunnels

Project description

ptadapter

ptadapter is a Python 3 package that interfaces with Pluggable Transports.

Pluggable Transports (PT) are originally created for Tor as a modular, interchangeable (pluggable) method of tunneling and obfuscating network traffic (transport). This design makes PTs useful not only for Tor, but many other use cases where traffic obfuscation is desired. Learn more about Pluggable Transports at the dedicated website, https://www.pluggabletransports.info/

This package implements Version 1 of the Pluggable Transport specifications (relevant specs can be found in the specifications directory). Version 2 of the specs is in development: refer to the website linked above for progress.

(This package also implements Tor's Extended ORPort protocol, which can be optionally used to receive server connections from PTs.)

This package REQUIRES Python 3.7 or higher. It has no 3rd-party dependencies.

What's Included

This package implements several Python classes that execute and communicate with a PT subprocess, allowing connections to be made through the PT as a client, or received as a server. The code is built on top of asyncio, and uses the familiar StreamReader and StreamWriter for connections.

Also included is a ready-made tool that can run PTs as a standalone tunnel. No coding is necessary to use this.

What's Required

  • Python 3.7 or above.
  • The Pluggable Transport to be used, as an executable program. This may be installed from the repository, built from source, extracted from the Tor Browser Bundle, etc.

How to get this package

This package is now uploaded to PyPI, so install it the usual way:

pip install ptadapter

If you don't want to install, you could also clone this repository or download a source package, and put the ptadapter directory in the working directory or somewhere in your PYTHONPATH.

How to use PTs in you own Python program

Start with the Developer Guide page in the Documentation.

How to create a standalone PT tunnel

If the package is installed via pip, an entry script called ptadapter is created, so run the command below to see usage:

ptadapter --help

Otherwise, run:

python -m ptadapter --help

A configuration file should be provided to the script. The console script guide page in the Documentation includes an example config file with detailed comments; the example config file can also be found in this repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ptadapter-3.0.1.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

ptadapter-3.0.1-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file ptadapter-3.0.1.tar.gz.

File metadata

  • Download URL: ptadapter-3.0.1.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for ptadapter-3.0.1.tar.gz
Algorithm Hash digest
SHA256 910d6e102726f005ae0d073f1acc2905bab5a0d3e6b43cecb86a3834fae0fd78
MD5 a4790e8b05c544b0c177b8dc34e954b8
BLAKE2b-256 f8aacab2742d759e3e7205b9627f1cc3912d47dc920b0a73c2d29acde53dad5e

See more details on using hashes here.

File details

Details for the file ptadapter-3.0.1-py3-none-any.whl.

File metadata

  • Download URL: ptadapter-3.0.1-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.5

File hashes

Hashes for ptadapter-3.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8a00b578552f6fb9e141f551ef01a98258ad80220a2757b9e28597f851fe80a5
MD5 c13d0a11f66fa730940889eef072f531
BLAKE2b-256 e7da2c65d9148afd577b8e54eb825e3fedf6e049d0e08c993f88704e97a41095

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page