
ICMP、TCP、UDPプローブでIPv4/IPv6経路をトレースし、ホップのASNを解決して、MTR形式のテーブルやマップリンクを出力する並列マルチターゲットtracerouteツール。
複数のターゲットを同時にトレースし、すべてのホップを地図上で確認できます。
English · 简体中文 · 繁體中文(台灣) · 繁體中文(香港) · 繁體中文(澳門)
xmtr は trippy を使って複数のターゲットを同時にトレースし、各ルートの経路が安定した時点でトレースを停止し、そのルートを xmsl.dev IPMap にアップロードします。IPMap はすべてのホップを地図上に配置し、ルートを再生します。
https://github.com/user-attachments/assets/b2152647-3396-4f2c-86d4-267c2b11e529
実行終了時に表示されるリンクを開くと地図が表示されます:
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
2 番目のコマンドは 1.1.1.1 と cloudflare.com をトレースし、ホストが IPv4 と IPv6 の両方を備えている場合はその両方で実行して、ルートと IPMap リンクを表示します。Windows とパッケージマネージャーについては Install で扱い、Privileges では各システムで誰がトレースを実行できるかを一覧にしています。
macOS、Linux、FreeBSD、Termux
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash
スクリプトは POSIX sh なので、bash のないシステムでも | sh が動作します。OpenWrt ではネイティブパッケージリポジトリを使用してください。一般ユーザーとして実行すると sudo 経由で /usr/local/bin にインストールされるため、sudo xmtr でバイナリが見つかります。sudo がパスワードを要求する場合があります。sudo 権限がない場合は ~/.local/bin にインストールされます。
Windows
powershell -c "irm https://raw.githubusercontent.com/Alice39s/xmtr/main/install.ps1|iex"
どちらのスクリプトも、お使いのシステム向けのビルドを選択し、リリースの SHA256SUMS と照合したうえで、単一の xmtr バイナリを配置して自身を削除する小さなインストーラーを実行します。Windows のユーザー PATH エントリを除き、それ以外は何も書き込まれません。ダウンロードには HTTPS が使用されますが、XMTR_RELEASES が http:// ミラーを指定している場合を除きます。
| システム | デフォルトの場所 |
|---|---|
| Linux、macOS、FreeBSD | /usr/local/bin、sudo 権限がない場合は ~/.local/bin |
| Termux | $PREFIX/bin |
| Windows | %LOCALAPPDATA%\Programs\xmtr |
インストーラーのオプションは bash -s -- の後に渡します:
curl -fsSL https://raw.githubusercontent.com/Alice39s/xmtr/main/install.sh | bash -s -- --dir ~/bin --version v0.3.6
XMTR_INSTALL_DIR はディレクトリを設定し、XMTR_RELEASES はスクリプトとインストーラの両方をリリースページのミラーに向けます。Windows では、この 2 つの変数がオプションを渡す唯一の方法です。
| マネージャー | コマンド | |
|---|---|---|
| Homebrew (macOS, Linux) | brew install alice39s/tap/xmtr | |
| Scoop (Windows) | scoop bucket add alice39s https://github.com/Alice39s/scoop-bucket の後に scoop install alice39s/xmtr | |
| WinGet (Windows) | winget install Alice39s.xmtr | |
| Chocolatey (Windows) | choco install xmtr | |
| npm | npm install --global @xmtr/cli、または npx @xmtr/cli 1.1.1.1 | |
| PyPI | uv tool install xmtr、pipx install xmtr または pip install xmtr | |
| Cargo | リリースバイナリには cargo binstall xmtr、ビルドするには cargo install xmtr | |
| mise | mise use --global github:Alice39s/xmtr | |
| Nix | nix run github:Alice39s/xmtr -- 1.1.1.1、または nix profile install github:Alice39s/xmtr | |
| Docker | docker run --rm ghcr.io/alice39s/xmtr 1.1.1.1 |
npm パッケージと PyPI の wheel には、リリースアーカイブと同じバイナリが含まれています。npm はお使いのシステムに合わせて @xmtr/<platform> パッケージを選択します。Docker イメージには静的バイナリのみが含まれ、amd64、arm64、armv7、armv6、386、riscv64、loong64 向けにビルドされています。Docker はデフォルトでコンテナに raw ソケットを許可します。Podman を使用する場合は --cap-add NET_RAW を追加してください。
deb、rpm、apk パッケージは /usr/bin/xmtr をインストールし、setcap で raw ソケットを許可するため、すべてのユーザーが root なしでトレースできます。これらは各リリースに添付され、署名済みリポジトリから配信されます:
| システム | アーキテクチャ | |
|---|---|---|
| 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
リポジトリは packaging/keys 内の鍵で署名されています。リリースワークフローは上記のすべてのチャネルを公開しますが、mise と Nix は例外で、これらは GitHub リリースと flake を直接読み取ります。
ネイティブパッケージは OpenWrt 24.10 (opkg) および 25.12 (APK v3) 向けにビルドされ、x86-64、SSE2 対応 x86、ARM64、ARMv7 ハードフロートおよびソフトフロート、そして両バイトオーダーの MIPS 24Kc をカバーしています。OpenWrt ガイドには、正確なパッケージアーキテクチャ、署名済みフィードのセットアップ、更新コマンドが記載されています。OpenWrt では xmtr を root で実行してください。
xmtr self update # install the latest release over this binary
xmtr self update --tag v0.3.3 # install a given release instead
xmtr self uninstall # delete this binary
--force は、すでにインストールされているリリースを再インストールします。パッケージマネージャーや Linux リポジトリから更新する場合は、そのマネージャーを使ってください。
ターミナルでの実行後、xmtr は最新リリースを検索し、最大 3 秒待機します。より新しい場合、xmtr はインストールするかどうか、次に新しいバージョンで同じコマンドを再度実行するかどうかを尋ねます。Enter を押すと両方とも「はい」になります。パッケージマネージャーがバイナリを管理している場合、またはそのディレクトリが書き込み可能でない場合、xmtr は代わりにそれを更新するコマンドを表示します。--json、--quiet、--no-upload を付けた実行、および stdin と stderr にターミナルがない実行では、検索をスキップします。
手動インストール用のアーカイブは releases ページ にあります。リリースは不変です。一度公開されると、そのファイルとタグは変更できません。