
Outil de traceroute multi-cible parallèle qui trace les routes IPv4/IPv6 avec des sondes ICMP, TCP ou UDP, résout les ASN des sauts et exporte des tableaux de style MTR ainsi que des liens vers des cartes.
Tracez plusieurs cibles à la fois et visualisez chaque saut sur une carte.
English · 简体中文 · 繁體中文(台灣) · 繁體中文(香港) · 繁體中文(澳門)
xmtr trace plusieurs cibles en même temps avec trippy, arrête chaque route une fois que son chemin est stable, puis envoie les routes à xmsl.dev IPMap. IPMap place chaque saut sur une carte et rejoue le parcours.
https://github.com/user-attachments/assets/b2152647-3396-4f2c-86d4-267c2b11e529
Le lien affiché à la fin d'une exécution ouvre la carte :
https://github.com/user-attachments/assets/b675a8f5-dff1-460a-bb3c-ca7b3e4ff412
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash
sudo xmtr 1.1.1.1 cloudflare.com
La seconde commande trace 1.1.1.1 et cloudflare.com, sur IPv4 et IPv6 lorsque l'hôte dispose des deux, et affiche les routes ainsi qu'un lien IPMap. Windows et les gestionnaires de paquets sont couverts dans Install, et Privileges liste qui peut effectuer un traçage sur chaque système.
macOS, Linux, FreeBSD, Termux
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash
Le script est en POSIX sh, donc | sh fonctionne sur les systèmes sans bash. Sur OpenWrt, utilisez le dépôt de paquets natif. En tant qu'utilisateur ordinaire, il s'installe dans /usr/local/bin via sudo, afin que sudo xmtr trouve le binaire ; sudo peut demander votre mot de passe. Sans droits sudo, il s'installe dans ~/.local/bin.
Windows
powershell -c "irm https://raw.githubusercontent.com/Alice39s/xmtr/main/install.ps1|iex"
Les deux scripts sélectionnent la build correspondant à votre système, la vérifient par rapport au fichier SHA256SUMS de la release, puis exécutent un petit installateur qui place un unique binaire xmtr et se supprime ensuite. Rien d'autre n'est écrit, à l'exception de l'entrée PATH de l'utilisateur sous Windows. Les téléchargements utilisent HTTPS, sauf si XMTR_RELEASES désigne un miroir http://.
| Système | Emplacement par défaut |
|---|---|
| Linux, macOS, FreeBSD | /usr/local/bin ; ~/.local/bin sans droits sudo |
| Termux | $PREFIX/bin |
| Windows | %LOCALAPPDATA%\Programs\xmtr |
Passez les options de l'installateur après bash -s -- :
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash -s -- --dir ~/bin --version v0.3.6
XMTR_INSTALL_DIR définit le répertoire, et XMTR_RELEASES pointe à la fois le script et l'installateur vers un miroir de la page des releases. Sous Windows, ces deux variables sont le seul moyen de passer des options.
| Gestionnaire | Commande | |
|---|---|---|
| Homebrew (macOS, Linux) | brew install alice39s/tap/xmtr | |
| Scoop (Windows) | scoop bucket add alice39s https://github.com/Alice39s/scoop-bucket puis scoop install alice39s/xmtr | |
| WinGet (Windows) | winget install Alice39s.xmtr | |
| Chocolatey (Windows) | choco install xmtr | |
| npm | npm install --global @xmtr/cli, ou npx @xmtr/cli 1.1.1.1 | |
| PyPI | uv tool install xmtr, pipx install xmtr ou pip install xmtr | |
| Cargo | cargo binstall xmtr pour le binaire de release, ou cargo install xmtr pour le compiler | |
| mise | mise use --global github:Alice39s/xmtr | |
| Nix | nix run github:Alice39s/xmtr -- 1.1.1.1, ou nix profile install github:Alice39s/xmtr | |
| Docker | docker run --rm ghcr.io/alice39s/xmtr 1.1.1.1 |
Le paquet npm et les wheels PyPI contiennent les mêmes binaires que les archives de release ; npm sélectionne le paquet @xmtr/<platform> correspondant à votre système. L'image Docker ne contient que le binaire statique et est compilée pour amd64, arm64, armv7, armv6, 386, riscv64 et loong64. Docker accorde par défaut les sockets brutes aux conteneurs ; avec Podman, ajoutez --cap-add NET_RAW.
Les paquets deb, rpm et apk installent /usr/bin/xmtr et lui accordent les sockets brutes via setcap, afin que chaque utilisateur puisse tracer sans root. Ils sont joints à chaque release et servis depuis des dépôts signés :
| Système | Architectures | |
|---|---|---|
| Debian, Ubuntu | amd64, arm64, armhf, i386, riscv64, loong64 | |
| Fedora, RHEL | x86_64, aarch64, armv7hl, i686, riscv64, loongarch64 | |
| Alpine | x86_64, aarch64, armv7, armhf, x86, riscv64, loongarch64 |
# Debian, Ubuntu
sudo curl -fsSL -o /usr/share/keyrings/xmtr.gpg https://alice39s.github.io/xmtr/xmtr.gpg
echo "deb [signed-by=/usr/share/keyrings/xmtr.gpg] https://alice39s.github.io/xmtr/deb stable main" | sudo tee /etc/apt/sources.list.d/xmtr.list
sudo apt update && sudo apt install xmtr
# Fedora, RHEL
sudo curl -fsSL -o /etc/yum.repos.d/xmtr.repo https://alice39s.github.io/xmtr/rpm/xmtr.repo
sudo dnf install xmtr
# Alpine
wget -qO /etc/apk/keys/xmtr.rsa.pub https://alice39s.github.io/xmtr/apk/xmtr.rsa.pub
echo https://alice39s.github.io/xmtr/apk >> /etc/apk/repositories
apk add xmtr
Les dépôts sont signés avec les clés dans packaging/keys. Le workflow de publication publie chaque canal ci-dessus sauf mise et Nix, qui lisent directement la release GitHub et le flake.