
Strumento traceroute multi-target parallelo che traccia route IPv4/IPv6 con probe ICMP, TCP o UDP, risolve gli ASN degli hop ed esporta tabelle in stile MTR e link a mappe.
Traccia più target contemporaneamente e visualizza ogni hop su una mappa.
English · 简体中文 · 繁體中文(台灣) · 繁體中文(香港) · 繁體中文(澳門)
xmtr traccia più target contemporaneamente con trippy, interrompe ogni percorso una volta che il suo path è stabile e carica i percorsi su xmsl.dev IPMap. IPMap posiziona ogni hop su una mappa e riproduce il percorso.
https://github.com/user-attachments/assets/b2152647-3396-4f2c-86d4-267c2b11e529
Il link alla fine di un'esecuzione apre la mappa:
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
Il secondo comando traccia 1.1.1.1 e cloudflare.com, su IPv4 e IPv6 quando l'host dispone di entrambi, e stampa le route e un link IPMap. Windows e i gestori di pacchetti sono trattati in Install, e Privileges elenca chi può eseguire il tracciamento su ciascun sistema.
macOS, Linux, FreeBSD, Termux
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash
Lo script è in POSIX sh, quindi | sh funziona sui sistemi senza bash. Su OpenWrt, usa il repository di pacchetti nativo. Come utente normale si installa in /usr/local/bin tramite sudo, così sudo xmtr trova il binario; sudo potrebbe chiedere la tua password. Senza diritti sudo si installa in ~/.local/bin.
Windows
powershell -c "irm https://raw.githubusercontent.com/Alice39s/xmtr/main/install.ps1|iex"
Entrambi gli script selezionano la build per il tuo sistema, la verificano rispetto al file SHA256SUMS della release ed eseguono un piccolo installer che colloca un singolo binario xmtr e poi si elimina. Non viene scritto nient'altro, a eccezione della voce nel PATH dell'utente su Windows. I download utilizzano HTTPS, a meno che XMTR_RELEASES non indichi un mirror http://.
| Sistema | Posizione predefinita |
|---|---|
| Linux, macOS, FreeBSD | /usr/local/bin; ~/.local/bin senza diritti sudo |
| Termux | $PREFIX/bin |
| Windows | %LOCALAPPDATA%\Programs\xmtr |
Passa le opzioni dell'installer dopo bash -s --:
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash -s -- --dir ~/bin --version v0.3.6
XMTR_INSTALL_DIR imposta la directory, mentre XMTR_RELEASES indirizza sia lo script che l'installer verso un mirror della pagina delle release. Su Windows queste due variabili sono l'unico modo per passare opzioni.
| Gestore | Comando | |
|---|---|---|
| Homebrew (macOS, Linux) | brew install alice39s/tap/xmtr | |
| Scoop (Windows) | scoop bucket add alice39s https://github.com/Alice39s/scoop-bucket poi scoop install alice39s/xmtr | |
| WinGet (Windows) | winget install Alice39s.xmtr | |
| Chocolatey (Windows) | choco install xmtr | |
| npm | npm install --global @xmtr/cli, oppure npx @xmtr/cli 1.1.1.1 | |
| PyPI | uv tool install xmtr, pipx install xmtr oppure pip install xmtr | |
| Cargo | cargo binstall xmtr per il binario della release, oppure cargo install xmtr per compilarlo | |
| mise | mise use --global github:Alice39s/xmtr | |
| Nix | nix run github:Alice39s/xmtr -- 1.1.1.1, oppure nix profile install github:Alice39s/xmtr | |
| Docker | docker run --rm ghcr.io/alice39s/xmtr 1.1.1.1 |
Il pacchetto npm e le wheel PyPI contengono gli stessi binari degli archivi delle release; npm seleziona il pacchetto @xmtr/<platform> per il tuo sistema. L'immagine Docker contiene solo il binario statico ed è compilata per amd64, arm64, armv7, armv6, 386, riscv64 e loong64. Docker concede per impostazione predefinita i raw socket ai container; con Podman aggiungi --cap-add NET_RAW.
I pacchetti deb, rpm e apk installano /usr/bin/xmtr e gli concedono i raw socket tramite setcap, così ogni utente può eseguire il trace senza root. Sono allegati a ciascuna release e serviti da repository firmati:
| Sistema | Architetture | |
|---|---|---|
| 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
I repository sono firmati con le chiavi in packaging/keys. Il workflow di rilascio pubblica ogni canale sopra indicato tranne mise e Nix, che leggono direttamente la release GitHub e il flake.