marionette
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
- Protocol Misidentification Made Easy with Format-Transforming Encryption (CCS 2013)
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| marionette_tg-0.2.0.tar.gz | 49.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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