Metadata-Version: 2.1
Name: fast-mda-traceroute
Version: 0.1.13
Summary: An experimental multipath traceroute tool.
Home-page: https://github.com/dioptra-io/fast-mda-traceroute
License: MIT
Author: Maxime Mouchet
Author-email: maxime.mouchet@lip6.fr
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Requires-Dist: diamond-miner (>=1.0.3,<2.0.0)
Requires-Dist: more-itertools (>=8.12.0,<9.0.0)
Requires-Dist: pycaracal (>=0.14.5,<0.15.0)
Requires-Dist: tabulate (>=0.8.9,<0.9.0)
Requires-Dist: typer (>=0.4.0,<0.5.0)
Description-Content-Type: text/markdown

# fast-mda-traceroute

[![Coverage][coverage-badge]][coverage-url]
[![Tests Status][tests-workflow-badge]][tests-workflow-url]
[![PyPI][pypi-badge]][pypi-url]

`fast-mda-traceroute` is an experimental multipath traceroute tool based on [caracal][caracal]
and [diamond-miner][diamond-miner]. It aims to provide a faster alternative to [paris-traceroute][paris-traceroute]
and [scamper][scamper] for running one-off measurements. It runs on Linux and macOS, on x86-64 and ARM64 systems.

🚧 This tool is highly experimental, may not always work, and its interface is subject to change from one commit to
another.

## Quickstart

### Docker

```bash
docker run ghcr.io/dioptra-io/fast-mda-traceroute --help
```

The `latest` tag maps to the latest tagged commit and the `main` tag maps to the latest commit on the `main` branch.

### Python

You can use pip, or [pipx][pipx] to install `fast-mda-traceroute` in a dedicated virtual environment:

```bash
pipx install fast-mda-traceroute
fast-mda-traceroute --help
```

## Usage

```bash
# Show help
fast-mda-traceroute --help
# Multipath traceroute towards example.org with default options
fast-mda-traceroute example.org
# Print paris-traceroute equivalent command
fast-mda-traceroute --print-command=paris-traceroute example.org
# Print scamper equivalent command
fast-mda-traceroute --print-command=scamper example.org
```

`fast-mda-traceroute` outputs log messages to `stderr` and measurement results to `stdout`.

## Development

```bash
poetry install
poetry run fast-mda-traceroute --help
```

```bash
docker build -t fast-mda-traceroute .
docker run fast-mda-traceroute --help
```

[caracal]: https://github.com/dioptra-io/caracal

[diamond-miner]: https://github.com/dioptra-io/diamond-miner

[paris-traceroute]: https://paris-traceroute.net

[pipx]: https://github.com/pypa/pipx/

[scamper]: https://www.caida.org/catalog/software/scamper/

[coverage-badge]: https://img.shields.io/codecov/c/github/dioptra-io/fast-mda-traceroute?logo=codecov&logoColor=white

[coverage-url]: https://codecov.io/gh/dioptra-io/fast-mda-traceroute

[tests-workflow-badge]: https://img.shields.io/github/workflow/status/dioptra-io/fast-mda-traceroute/Tests?logo=github&label=tests

[tests-workflow-url]: https://github.com/dioptra-io/fast-mda-traceroute/actions/workflows/tests.yml

[pypi-badge]: https://img.shields.io/pypi/v/fast-mda-traceroute?logo=pypi&logoColor=white

[pypi-url]: https://pypi.org/project/fast-mda-traceroute/

