Skip to content

v0.0.1

Choose a tag to compare

@github-actions github-actions released this 09 Mar 23:51

Initial Release -- via v0.0.1

A modern, terminal-native traceroute with real-time ECMP multipath discovery.

via replaces traceroute, mtr, and paris-traceroute with a single tool that reveals all the parallel paths your packets actually take through load-balanced networks.

Highlights

  • ECMP multipath discovery — Paris-traceroute-style UDP probing with per-flow source port variation discovers all parallel paths through load-balanced routers. 6 flows by default, configurable with --paths.
  • ICMP rate-limit detection — Automatically distinguishes false packet loss (routers throttling TTL Exceeded replies) from real loss. Rate-limited hops display ~N% instead of triggering false alarms.
  • Live TUI with tree rendering — Divergence points auto-expand with ├──/└── connectors. Path stability badges ([100%]) show how consistent each path is over a 50-round rolling window.
  • Full mtr-class statistics — Snt, Avg, Best, Wrst, StDev, Last, Loss% columns with Welford's online algorithm for numerically stable standard deviation.

Features

  • ECMP on by default, --no-paths for single-path mode
  • Viewport scrolling (j/k), jump to top/bottom (g/G)
  • Adaptive column layout based on terminal width
  • Async DNS resolution with worker pool, dedup, and caching
  • Report mode (-r) for scripted/non-interactive output
  • Auto-sudo when raw socket permissions are missing
  • Configurable interval, count, TTL range, and packet size
  • Clean exit with final summary on q or Ctrl-C

Install

Homebrew

brew tap tonhe/tap
brew install viaduct

From source

Requires Go 1.25+:

git clone https://github.com/tonhe/viaduct.git
cd viaduct
make install

Quick Start

# Default trace with ECMP multipath
via google.com

# 12 ECMP flows
via --paths 12 google.com

# Single-path mode
via --no-paths 8.8.8.8

# Report mode, 5 rounds, no DNS
via -r -c 5 -n 8.8.8.8

What's Next

  • UDP/TCP probe modes, ASN enrichment, ping supplement for rate-limited hops
  • Display mode cycling, sparklines, multi-target, JSON/CSV/DOT export
  • Theme engine with 20 built-in color themes