{"adoption": {"forks": 40, "observed_at": "2026-09-03T02:15:00.424439+00:00", "stars": 1134}, "canonical_url": "https://ross.abutalabs.com/products/dnsglobe", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Global DNS propagation checker TUI — watch a DNS record propagate across 34 public resolvers worldwide, on a world map in your terminal", "domain": ["networking", "developer-tools"], "enriched": true, "function": ["cli", "networking", "developer-tools", "terminal-ui"], "health_score": 100, "homepage": null, "language": "Rust", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["514-labs/dnsglobe"], "name": "514-labs/dnsglobe", "platform": ["windows", "cli", "cross-platform"], "pushed_at": "2026-09-02T15:36:14+00:00", "repo": "514-labs/dnsglobe", "stars": 1134, "tags": ["dns-propagation", "tui", "rust", "ratatui", "dns-checker", "world-map", "watch-mode", "command-line", "linux", "macos"], "topics": ["cli", "dns", "dns-checker", "dns-propagation", "ratatui", "rust", "tui"], "urls": [], "use_cases": ["check if my DNS record has propagated globally", "watch DNS propagation from the terminal", "compare DNS answers across public resolvers worldwide", "debug why some users see old DNS records", "verify DNS changes across anycast networks like Google and Cloudflare", "see which resolver site answered my DNS query via NSID"], "what_it_is": "dnsglobe is a Rust terminal UI (TUI) application that checks DNS record propagation across 34 public resolvers worldwide, displaying results in a table and on a world map or rotating 3D globe. It re-polls in watch mode until a record has propagated everywhere, grouping consistent answers and flagging outliers.", "when_to_avoid": ["you need a GUI or web-based DNS checker", "you need DNS record management or editing, not just checking", "you need programmatic/API access rather than an interactive terminal view"], "when_to_choose": ["you want dnschecker.org-style propagation checks without leaving the terminal", "you need per-resolver detail like RTT, TTL, and NSID site names", "you want a visual world map or globe of propagation status in a TUI"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/dnsglobe", "repo": "514-labs/dnsglobe", "role": "main", "score": 79}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-09-03T02:15:00.424439+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:45:40.584316+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "f01f9c9d15734d987d91cd37b1a25b497edf6613bf875432e2dfae979f75da35", "fetched_at": "2026-09-03T02:15:00.424439+00:00", "kind": "readme", "missing": false, "url": "https://github.com/514-labs/dnsglobe"}, {"content_hash": "aa2b1da51ce0a7d096cb12bb42c5adb4a6d3ebf958a601300c9957a5a5162ecc", "fetched_at": "2026-08-29T12:48:31.457653+00:00", "kind": "registry_crates", "missing": false, "url": "https://crates.io/api/v1/crates/dnsglobe"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 100, "longevity": 4, "rhythm": 96}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 60, "days_push": 0, "days_rel": 26, "gap_med": 1, "n_releases_24m": 6}, "score": 79, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 3, "stale_scrape": false}}