OpenTrace is an open source visualized route tracing tool.
OpenTrace 是一款跨平台可视化路由追踪工具。
- Download OpenTrace for your system from the official website or releases. Linux users can also install it via Flathub or Arch User Repository.
Alternatively, if you compiled it yourself, then you need to:
-
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.
- .NET 8 SDK
- The runtime and development tools required by the target platform (GTK 3 on Linux or Xcode Command Line Tools on macOS)
- For an MSIX bundle: 64-bit Windows, PowerShell, and the Windows 10/11 SDK with
MakeAppx.exe
Restore dependencies once before building:
dotnet restore OpenTrace.csprojdotnet 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 net481The 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.0The 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.0The 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.0Upload 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.0OpenTrace uses NextTrace as the backend.
OpenTrace is released under the GPL-3.0 license.




