{"adoption": {"forks": 108, "observed_at": "2026-08-28T04:07:02.844621+00:00", "stars": 2590}, "canonical_url": "https://ross.abutalabs.com/products/netwatch", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Real-time network diagnostics in your terminal. One command, zero config, instant visibility.", "domain": ["networking", "security", "developer-tools", "monitoring"], "enriched": true, "function": ["monitoring", "networking", "tracing", "security", "terminal-ui"], "health_score": 99, "homepage": "https://netwatchlabs.com", "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["matthart1983/netwatch"], "name": "matthart1983/netwatch", "platform": ["cli", "rust"], "pushed_at": "2026-08-15T23:47:57+00:00", "repo": "matthart1983/netwatch", "stars": 2590, "tags": ["tui", "network-diagnostics", "packet-capture", "process-attribution", "zero-config", "rust-binary", "command-line", "macos", "linux"], "topics": [], "urls": [], "use_cases": ["see what's using my bandwidth right now", "find which process opened a network connection", "monitor network latency and packet loss in the terminal", "detect malware beaconing or DNS data exfiltration", "troubleshoot why my network is slow", "inspect live network traffic without config", "watch per-program egress activity"], "what_it_is": "NetWatch is a zero-config terminal TUI for real-time network diagnostics, written in Rust and distributed as a single static binary. It shows interface bandwidth, latency, packet loss, DNS latency, and per-connection process attribution, and can decode protocols on the wire to spot suspicious patterns like port scans, malware beaconing, and DNS exfiltration.", "when_to_avoid": ["you need full packet capture to files or deep forensic analysis like Wireshark", "you need Windows support in production", "you need centralized multi-host network monitoring or alerting", "you require a GUI or web-based dashboard"], "when_to_choose": ["you want instant, zero-config network visibility in a terminal on macOS or Linux", "you need process-level attribution for sockets and connections", "you prefer a single static binary with no daemon, no root, and no telemetry", "you want a live TUI dashboard combining throughput, latency, and connection tables"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/netwatch", "repo": "matthart1983/netwatch", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:02.844621+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:22:20.348810+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9ed81c8b052607836cd070be6d5e3968a9a99f2b4fc3a05f59dd13e7e939d0e7", "fetched_at": "2026-08-28T04:07:02.844621+00:00", "kind": "readme", "missing": false, "url": "https://github.com/matthart1983/netwatch"}, {"content_hash": "2bd58683c7448bb6fd7fbd17cead6c8cf901ba4edc89555b7be5959a5553ed6f", "fetched_at": "2026-08-29T10:04:35.180682+00:00", "kind": "homepage", "missing": false, "url": "https://netwatchlabs.com"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 14, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 200, "days_push": 18, "days_rel": 18, "gap_med": 0.0, "n_releases_24m": 69}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}