OpenTrace:跨平台可视化路由追踪工具
OpenTrace 是一款开源、跨平台的可视化路由追踪(Traceroute/MTR)工具,使用原生 GUI(Windows WPF、Linux GTK、macOS 原生应用),以 NextTrace 为后端,支持 MTR、多语言界面、自定义 DNS/DoH 解析器、Cloudflare 验证与 NextTrace API v4 Token 自动配置、本地 .MMDB 数据库以及 CLI 发起追踪。
社区作者 · zZz
它解决什么问题
OpenTrace 是一款跨平台可视化路由追踪工具,采用原生平台后端:Windows 上为 WPF,Linux 上为 GTK,macOS 为原生应用包(app bundle)。项目以 NextTrace 作为后端网络探测引擎。
主要特性:
- 跨平台原生 GUI(Windows WPF / Linux GTK / macOS)
- 熟悉的界面,但功能更强大
- 友好的图形界面与易于理解的参数说明
- MTR(My Traceroute)功能;在 NextTrace v1.5.2+ 上使用原生 NextTrace MTR,不可用时静默回退到兼容实现
- 多语言支持(英语、中文、法语、西班牙语、日语、俄语)
- 自定义 DNS 解析器(DNS、DoH)
- 集成的 Cloudflare 验证与 NextTrace API v4 Token 自动配置(需 NextTrace v1.7.0+)
- 可使用 CLI 启动一次追踪
- 支持本地 .MMDB 数据库
界面预览可参考配图 2(macOS 深色)、配图 3(Windows)、配图 4(Linux)以及配图 5(macOS 上的偏好设置页面)。
提示:也可以从本项目 Actions 页面下载对应架构的最新 beta 版本,但 beta 版本可能包含缺陷或漏洞,也可能不稳定。
开发者说明:OpenTrace 自身只负责界面与调度,实际探测依赖外部 NextTrace 可执行文件;打包分发时需要把匹配架构的 NextTrace 一并放入(macOS 放在 OpenTrace.app/Contents/MacOS),或由用户在应用设置中指定外部 NextTrace 路径。Windows 用户若要使用 TCP/UDP Traceroute,还需要安装 Npcap。
适用对象:网络运维与排障人员、需要可视化观察路由跳数与延迟/丢包的用户、希望跨 Windows/Linux/macOS 使用同一套路由追踪体验的技术人员,以及需要自行编译或打包分发的开发者。
— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。
安装 / 开始使用
一、直接安装(推荐)
- 从官方网站或 Releases 页面下载适合你系统的 OpenTrace。
- Linux 用户还可以通过 Flathub 或 Arch User Repository(AUR)安装。
二、自行编译后运行
- 下载并安装 NextTrace:按你的系统架构从 NextTrace 项目下载对应版本。
- 将 NextTrace 放入 OpenTrace 所在目录,或放入系统 PATH 环境变量包含的目录;也可以放在任意位置并手动指定路径(macOS 用户推荐手动指定路径)。
- Windows 用户若想使用 TCP/UDP Traceroute,还需额外下载并安装 Npcap。
- 解压并运行 OpenTrace(Windows 下为 OpenTrace.exe)。
三、从源码构建 建议在目标操作系统上构建和测试,以下命令全部在仓库根目录执行。
前置条件:
- .NET 8 SDK
- 目标平台所需的运行时和开发工具(Linux 上为 GTK 3,macOS 上为 Xcode Command Line Tools)
- 如需构建 MSIX bundle:64 位 Windows、PowerShell,以及带 MakeAppx.exe 的 Windows 10/11 SDK
构建前先恢复依赖一次: dotnet restore OpenTrace.csproj
Windows: 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 输出位于 bin/Wpf/Release/net48/win-x64 和 bin/Wpf/Release/net481/win-arm64。
Linux: 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 输出位于 bin/Gtk/Release/net8.0/<runtime>。
macOS: 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 应用包位于 bin/Mac64/Release/net8.0/<runtime>/OpenTrace.
app。 签名、公证与 DMG 制作需要 Apple 开发者凭据,具体流程见 .github/workflows/build-release-macos.yml。
注意:以上命令只编译 OpenTrace 本身。准备可分发压缩包时,还要下载匹配的 NextTrace 可执行文件并放在 OpenTrace 旁边(macOS 为 OpenTrace.app/Contents/MacOS),或让用户在应用设置中选择外部 NextTrace 可执行文件。.github/workflows 下的发布工作流是组装正式发布包的参考。
四、Microsoft Store MSIX bundle(Windows) Store 打包脚本会构建 x64 与 ARM64、准备包美术资源、下载固定版本并经 SHA256 校验的 NextTrace 载荷及所需 WinDivert 文件,并生成一个合并的 bundle。版本号使用四段式,通常在应用版本后追加 .0:
.\scripts\Build-StorePackage.ps1 -Version 1.5.2.0将生成的无签名 bundle 上传到 Partner Center: artifacts\store\OpenTrace_1.5.2.0_x64_arm64.msixbundle 不要上传 artifacts\store\packages 下按架构拆分的包。提交 Partner Center 不需要本地证书。若仅为本地侧载测试创建已签名 bundle,运行:
.\scripts\Build-SignedStorePackage.ps1 -Version 1.5.2.0五、首次运行与常见问题
- 首次运行若无法追踪:先确认 NextTrace 是否已安装且位于 OpenTrace 目录或 PATH 中,macOS 推荐在设置中手动指定 NextTrace 路径。
- Windows 上使用 TCP/UDP Traceroute 失败:检查是否已安装 Npcap。
- 想要使用原生 MTR:需 NextTrace v1.5.2+,否则会自动回退到兼容实现。
- 想使用 Cloudflare 验证与 API v4 Token 自动配置:需 NextTrace v1.7.0+。
- 想尝试新功能:可从项目 Actions 页面下载对应架构的最新 beta 版本,但可能包含缺陷或漏洞,也可能不稳定。
- 本地地理信息:可使用本地 .MMDB 数据库;也可在设置中选择 DNS 或 DoH 作为自定义解析器。
- CLI 用户可直接用命令行启动一次追踪。
