Open Source Visualized Route Tracing Tool for macOS, Windows, and Linux.
Open Source Visualized Route Tracing Tool for macOS, Windows, and Linux.
OpenTrace is an open source visualized route tracing tool.
OpenTrace 是一款跨平台可视化路由追踪工具。
Download and install NextTrace: Download NextTrace for your system architecture from here.
Place NextTrace in the OpenTrace directory, or in a directory included in your system's PATH environment variable; you can also place it anywhere and manually specify the path (recommended for macOS users).
If you are a Windows user and want to use TCP/UDP Traceroute, you also need to download and install Npcap.
Unzip and run OpenTrace(.exe)
Cross-platform native GUI (Windows WPF / Linux GTK / macOS)
An interface you are familiar with, but with even more powerful functionalities
User-friendly GUI and easy-to-understand parameter descriptions
MTR (My Traceroute) functionality; uses native NextTrace MTR with v1.5.2+ and silently falls back to the compatibility implementation when unavailable
Multi-language support (English, Chinese, French, Spanish, Japanese, Russian)
Custom DNS Resolvers (DNS, DoH)
Integrated Cloudflare verification and automatic setup for NextTrace API v4 tokens (NextTrace v1.7.0+)
Use CLI to start a trace
Supports local .MMDB database
More is coming... Feature request is welcome!
Tip: You can also download the latest beta version of the corresponding architecture from the Actions page of this project; however, it may contain bugs or vulnerabilities, or may be unstable.
OpenTrace uses native platform backends (WPF on Windows, GTK on Linux, and a native macOS app bundle). Build and test on the target operating system whenever possible. Run all commands below from the repository root.
MakeAppx.exeRestore dependencies once before building:
dotnet restore OpenTrace.csproj
dotnet build OpenTrace.csproj --runtime win-x64 --configuration Release --no-self-contained -f net48
dotnet build OpenTrace.csproj --runtime win-arm64 --configuration Release --no-self-contained -f net481
The outputs are under bin/Wpf/Release/net48/win-x64 and
bin/Wpf/Release/net481/win-arm64.
dotnet build OpenTrace.csproj --runtime linux-x64 --configuration Release --self-contained -f net8.0
dotnet build OpenTrace.csproj --runtime linux-arm64 --configuration Release --self-contained -f net8.0
The outputs are under bin/Gtk/Release/net8.0/<runtime>.
dotnet build OpenTrace.csproj --runtime osx-x64 --configuration Release --self-contained -f net8.0
dotnet build OpenTrace.csproj --runtime osx-arm64 --configuration Release --self-contained -f net8.0
The app bundles are under bin/Mac64/Release/net8.0/<runtime>/OpenTrace.app.
Signing, notarization, and DMG creation require Apple developer credentials;
the release workflow in .github/workflows/build-release-macos.yml documents
that process.
These platform commands compile OpenTrace itself. When preparing a
redistributable archive, also download the matching NextTrace executable and
place it beside OpenTrace (OpenTrace.app/Contents/MacOS on macOS), or let the
user select an external NextTrace executable in the application settings. The
release workflows under .github/workflows are the reference for assembling
the published archives.
The Store package script builds x64 and ARM64, prepares package artwork,
downloads the pinned and SHA256-verified NextTrace payloads and required
WinDivert files, and creates one combined bundle. Use a four-part package
version; normally append .0 to the application version:
.\scripts\Build-StorePackage.ps1 -Version 1.5.2.0
Upload the resulting unsigned bundle to Partner Center:
artifacts\store\OpenTrace_1.5.2.0_x64_arm64.msixbundle
Do not upload the architecture-specific packages under
artifacts\store\packages. A local certificate is not needed for Partner
Center submission. To create a signed bundle for local sideload testing only,
run:
.\scripts\Build-SignedStorePackage.ps1 -Version 1.5.2.0
OpenTrace uses NextTrace as the backend.
OpenTrace is released under the GPL-3.0 license.
No open issues yet, or sync has not completed.