Skip to main content

marionette

Python 3.8+ License: MIT Tests

Marionette is a programmable client-server proxy that enables the user to control network traffic features with a lightweight domain-specific language.

⚠️ Pre-alpha software - Not suitable for real-world deployment.

Installation

pip install marionette-tg

Quick Start

# Start the SOCKS backend
./examples/socksserver --local_port 8081 &

# Start the marionette server
./bin/marionette_server --server_ip 127.0.0.1 --proxy_ip 127.0.0.1 --proxy_port 8081 --format dummy &

# Start the marionette client
./bin/marionette_client --server_ip 127.0.0.1 --client_ip 127.0.0.1 --client_port 8079 --format dummy &

# Test the connection
curl --socks4a 127.0.0.1:8079 example.com

Features

  • Programmable traffic shaping using a domain-specific language
  • Format-Transforming Encryption (FTE) for protocol obfuscation
  • Template grammars for generating realistic traffic patterns
  • Pluggable architecture for custom protocol handlers

Documentation

Full documentation, DSL reference, and example formats are available on GitHub.

References

  1. Protocol Misidentification Made Easy with Format-Transforming Encryption (CCS 2013)
  2. Marionette: A Programmable Network Traffic Obfuscation System (USENIX Security 2015)

License

MIT License - see LICENSE for details.

Metadata

Release files for marionette-tg 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for marionette-tg 0.2.0
File Size Uploaded
marionette_tg-0.2.0.tar.gz 49.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for marionette-tg 0.2.0
File Interpreter ABI Platform
marionette_tg-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 114.1 kB

Release files / marionette_tg-0.2.0.tar.gz

Download URL marionette_tg-0.2.0.tar.gz
Size 49.1 kB
Tags Source
SHA-256 checksum
How to use checksums
cd21ecb7c87b17aea0071be29def6c33170b91502ca998025e9e713e43e2df8a
BLAKE2b-256 checksum
How to use checksums
b2cc0551cbb07f938ee418a6fff473443704c6085d29eef672c6e9a1ef9a9219
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.

Transparency log

Release files / marionette_tg-0.2.0-py3-none-any.whl

Download URL marionette_tg-0.2.0-py3-none-any.whl
Size 65.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c49f1d61896c3e87662586fe9acf035e4b98a7578a9be27df24f85189cb7038f
BLAKE2b-256 checksum
How to use checksums
9a2028178c257c838f24181a59d7899b26a1a11852759991c44065a43b3aaac1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 13, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page