fastrace
brew install fastrace
v1.0.0
BSD-2-Clause
Dependency-free traceroute implementation in pure C
—
30-day installs
1
90-day · #21121
221
365-day · #7095
104
★ GitHub stars · updated 7mo ago
Links
- https://github.com/davidesantangelo/fastrace
- GitHub: davidesantangelo/fastrace
- Brew formula source: Formula/f/fastrace.rb
Raw metadata
{
"aliases": [],
"alternatives": [],
"build_dependencies": [],
"categories": [],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Dependency-free traceroute implementation in pure C",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:37:31+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "fastrace",
"github_default_branch": "master",
"github_last_commit_at": "2026-01-21T15:34:55Z",
"github_readme_excerpt": "# Fastrace\n\nFast, dependency-free traceroute in pure C. Minimal syscalls, clear output, significantly faster than standard traceroute.\n\n## Features\n\n- **IPv4 and IPv6** dual-stack support\n- **Multiple probe modes**: UDP (default), ICMP Echo, TCP SYN\n- **Output formats**: Text (default), JSON, CSV\n- **Performance metrics**: RTT percentiles, jitter, statistics\n- **Adaptive concurrency**: Automatic window sizing based on network latency\n- **Zero dependencies**: Only libc + raw sockets\n\n## Performance\n\nFastrace is designed for speed. By using non-blocking sockets, batch I/O, concurrent probing, and optimized syscalls, it completes traces significantly faster than the standard `traceroute` utility.\n\n### Benchmark: `google.com`\n\n| Tool | Hops | Time | Response Rate |\n| ------------ | ---- | ------ | ------------- |\n| **fastrace** | 13 | ~1.5s | 74.4% (29/39) |\n| traceroute | 11 | ~30s | \u2014 |\n\n**fastrace** completes the trace **~20x faster** while providing richer output including load-balanced path detection.\n\n\u003cdetails\u003e\n\u003csummary\u003eFull output comparison\u003c/summary\u003e\n\n**fastrace:**\n\n```\nsudo ./fastrace google.com\nfastrace 1.0.0\nTracing route to google.com (142.250.180.174)\nMaximum hops: 30, Probes per hop: 3, Protocol: UDP\nTTL \u2502 IP Address (RTT ms) Hostname\n\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n1 \u2502 \u2192 192.168.1.1 ( 6.15 ms)\n2 \u2502 * * * (timeout)\n3 \u2502 * * * (timeout)\n4 \u2502 \u2192 185.89.159.5 ( 14.77 ms)\n5 \u2502 \u2192 37.26.80.129 ( 14.68 ms)\n6 \u2502 \u2192 193.77.91.225 ( 29.88 ms) bsn-77-91-225.static.siol.net\n7 \u2502 \u2192 193.77.107.46 ( 31.69 ms) bsn-77-107-46.static.siol.net\n8 \u2502 * * * (timeout)\n9 \u2502 \u2192 142.250.180.174 ( 37.91 ms) mil04s44-in-f14.1e100.net\n \u2514\u2192 142.251.235.178 ( 39.32 ms)\n \u2514\u2192 192.178.44.134 ",
"github_repo": "davidesantangelo/fastrace",
"github_stars": 104,
"github_topics": [],
"homepage": "https://github.com/davidesantangelo/fastrace",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": null,
"installs_365d": 221,
"installs_90d": 1,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "BSD-2-Clause",
"llm_generated_at": null,
"llm_model": null,
"name": "fastrace",
"oldnames": [],
"one_liner": null,
"optional_dependencies": [],
"rank_30d": null,
"rank_365d": 7095,
"rank_90d": 21121,
"raw_hash": "0f7d1a923abf1572",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/f/fastrace.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "1.0.0",
"versioned_formulae": [],
"why_use_this": null
}