Skip to main content

AnonTestLab

hashtagRR.github.io/AnonTestLab

PyPI DOI

AnonTestLab overview in four stages. 1 Configure: one YAML file, mode tor_like or custom, run with atl run. 2 Run a live network: real relay processes on one machine, a session split over two legs that rejoin at a common exit, with configurable split policy, mixing, traffic, crypto, key exchange and link conditions; the adversary watches the entry and the merged exit. 3 Attack: correlation_suite, global_observer, watermark, hop_depth and path_compromise. 4 Keep results: measured latency, delivery, bandwidth and leg shares, attack scores, and a results folder. atl compare, sweep, paired, predict, fidelity and dashboard close the loop.

A local network emulator for testing anonymous communication designs. Relays run as real processes with real handshakes, encryption and sockets, so latency, delivery and attack results are measured rather than modelled.

Quickstart

python3 -m venv .venv && .venv/bin/pip install "anontestlab[dashboard]"
curl -O https://raw.githubusercontent.com/hashtagRR/AnonTestLab/main/examples/tor_like.yaml
.venv/bin/atl run tor_like.yaml                 # run an example experiment
.venv/bin/atl dashboard                         # optional web UI

The other example configs are in examples/. Windows, installing from the source code, and troubleshooting: INSTALL.md.

Documentation

Guide What it covers
Experiment configs every YAML option, split policies, crypto, and the four example configs
Tools the atl commands (run, compare, sweep, paired, predict, fidelity, wizard) and the dashboard
Adversaries the five attackers, what each measures, and how to add one
Architecture what happens during a run, and how to extend routing, traffic, crypto or adversaries
Known limitations simplifications to keep in mind when reading results
Install guide platform setup, including Windows
Contributing development setup and how releases are made
Changelog what changed in each version
Project site the project's overview page

Versions

Every release and its changes are in the changelog; each one is archived on Zenodo under the concept DOI above.

  • v0.5.0: rebuilt dashboard with PDF reports, and a fix to the model's predictions for cover traffic on split legs.
  • v0.4.0 (10.5281/zenodo.23211928): the version used for the experiments of a paper on correlation risk in multipath anonymous communication (under review).

AnonTestLab grew out of the test harness of Anon-Sec-Net, a dual-path anonymous communication prototype, and works for other designs too.

License

GPL-3.0-or-later. See LICENSE.

Metadata

Release files for anontestlab 0.5.1

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

Source distribution (sdist)

Source distribution for anontestlab 0.5.1
File Size Uploaded
anontestlab-0.5.1.tar.gz 191.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for anontestlab 0.5.1
File Interpreter ABI Platform
anontestlab-0.5.1-py3-none-any.whl Python 3 none any Details

Total release size: 375.4 kB

Release files / anontestlab-0.5.1.tar.gz

Download URL anontestlab-0.5.1.tar.gz
Size 191.9 kB
Tags Source
SHA-256 checksum
How to use checksums
b11d790b07e801b6a0a8b60d76e66571dca722ba9b9562e0c2b06b29fa3aa1a0
BLAKE2b-256 checksum
How to use checksums
3cd5aebaef2a2f410c2c6b65a8268c8533cc652508c301c17f0bc8b5e3007e32
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 17, 2026.

Transparency log

Release files / anontestlab-0.5.1-py3-none-any.whl

Download URL anontestlab-0.5.1-py3-none-any.whl
Size 183.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34633f3a3ea5ecaadc34cdc9989e450d75c3fd063e7245a3d17e96911bc82ad1
BLAKE2b-256 checksum
How to use checksums
8097d6b3a72b55accd68ca2854aad2273b878c80dc64360c08c54c35931f984d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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 Oct 17, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.2

2 release files

This release

0.5.1 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