
Herramienta de traceroute paralela multiobjetivo que traza rutas IPv4/IPv6 con sondas ICMP, TCP o UDP, resuelve los ASN de los saltos y exporta tablas estilo MTR y enlaces de mapas.
Rastrea varios objetivos a la vez y visualiza cada salto en un mapa.
English · 简体中文 · 繁體中文(台灣) · 繁體中文(香港) · 繁體中文(澳門)
xmtr rastrea varios objetivos al mismo tiempo con trippy, detiene cada ruta una vez que su trayectoria es estable y sube las rutas a xmsl.dev IPMap. IPMap coloca cada salto en un mapa y reproduce la ruta.
https://github.com/user-attachments/assets/b2152647-3396-4f2c-86d4-267c2b11e529
El enlace al final de una ejecución abre el mapa:
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
El segundo comando traza 1.1.1.1 y cloudflare.com, sobre IPv4 e IPv6 cuando el host tiene ambos, e imprime las rutas y un enlace de IPMap. Windows y los gestores de paquetes se cubren en Install, y Privileges enumera quién puede trazar en cada sistema.
macOS, Linux, FreeBSD, Termux
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash
El script es POSIX sh, por lo que | sh funciona en sistemas sin bash. En OpenWrt, utilice el repositorio de paquetes nativo. Como usuario habitual, se instala en /usr/local/bin mediante sudo, de modo que sudo xmtr encuentra el binario; sudo puede solicitar su contraseña. Sin derechos de sudo, se instala en ~/.local/bin.
Windows
powershell -c "irm https://raw.githubusercontent.com/Alice39s/xmtr/main/install.ps1|iex"
Ambos scripts eligen la compilación para tu sistema, la verifican contra el archivo SHA256SUMS de la versión y ejecutan un pequeño instalador que coloca un único binario xmtr y luego se elimina a sí mismo. No se escribe nada más, excepto la entrada del PATH del usuario en Windows. Las descargas usan HTTPS, a menos que XMTR_RELEASES indique un espejo http://.
| Sistema | Ubicación predeterminada |
|---|---|
| Linux, macOS, FreeBSD | /usr/local/bin; ~/.local/bin sin derechos de sudo |
| Termux | $PREFIX/bin |
| Windows | %LOCALAPPDATA%\Programs\xmtr |
Pasa las opciones del instalador después de bash -s --:
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash -s -- --dir ~/bin --version v0.3.6
XMTR_INSTALL_DIR establece el directorio, y XMTR_RELEASES apunta tanto el script como el instalador a un espejo de la página de releases. En Windows estas dos variables son la única forma de pasar opciones.
| Gestor | Comando | |
|---|---|---|
| Homebrew (macOS, Linux) | brew install alice39s/tap/xmtr | |
| Scoop (Windows) | scoop bucket add alice39s https://github.com/Alice39s/scoop-bucket y luego scoop install alice39s/xmtr | |
| WinGet (Windows) | winget install Alice39s.xmtr | |
| Chocolatey (Windows) | choco install xmtr | |
| npm | npm install --global @xmtr/cli, o npx @xmtr/cli 1.1.1.1 | |
| PyPI | uv tool install xmtr, pipx install xmtr o pip install xmtr | |
| Cargo | cargo binstall xmtr para el binario de la release, o cargo install xmtr para compilarlo | |
| mise | mise use --global github:Alice39s/xmtr | |
| Nix | nix run github:Alice39s/xmtr -- 1.1.1.1, o nix profile install github:Alice39s/xmtr | |
| Docker | docker run --rm ghcr.io/alice39s/xmtr 1.1.1.1 |
El paquete npm y los wheels de PyPI contienen los mismos binarios que los archivos de la release; npm elige el paquete @xmtr/<platform> para tu sistema. La imagen de Docker contiene únicamente el binario estático y está compilada para amd64, arm64, armv7, armv6, 386, riscv64 y loong64. Docker concede sockets raw a los contenedores por defecto; con Podman añade --cap-add NET_RAW.
Los paquetes deb, rpm y apk instalan /usr/bin/xmtr y le conceden sockets raw con setcap, de modo que cualquier usuario puede trazar sin root. Se adjuntan a cada release y se sirven desde repositorios firmados:
| Sistema | Arquitecturas | |
|---|---|---|
| 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
Los repositorios están firmados con las claves en packaging/keys. El flujo de trabajo de publicación publica todos los canales anteriores excepto mise y Nix, que leen la release de GitHub y el flake directamente.