Skip to main content

Marionette - The polymorphic, programmable proxy.

Project description

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.

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

marionette_tg-0.2.0.tar.gz (49.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marionette_tg-0.2.0-py3-none-any.whl (65.0 kB view details)

Uploaded Python 3

File details

Details for the file marionette_tg-0.2.0.tar.gz.

File metadata

  • Download URL: marionette_tg-0.2.0.tar.gz
  • Upload date:
  • Size: 49.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for marionette_tg-0.2.0.tar.gz
Algorithm Hash digest
SHA256 cd21ecb7c87b17aea0071be29def6c33170b91502ca998025e9e713e43e2df8a
MD5 2acd5075dad259712b179ab377e355a1
BLAKE2b-256 b2cc0551cbb07f938ee418a6fff473443704c6085d29eef672c6e9a1ef9a9219

See more details on using hashes here.

Provenance

The following attestation bundles were made for marionette_tg-0.2.0.tar.gz:

Publisher: publish.yml on marionette-tg/marionette

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file marionette_tg-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: marionette_tg-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 65.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for marionette_tg-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c49f1d61896c3e87662586fe9acf035e4b98a7578a9be27df24f85189cb7038f
MD5 60e8708bb9cecc700c4fd8f023326488
BLAKE2b-256 9a2028178c257c838f24181a59d7899b26a1a11852759991c44065a43b3aaac1

See more details on using hashes here.

Provenance

The following attestation bundles were made for marionette_tg-0.2.0-py3-none-any.whl:

Publisher: publish.yml on marionette-tg/marionette

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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