{"adoption": {"forks": 418, "observed_at": "2026-08-28T04:09:22.313006+00:00", "stars": 5551}, "canonical_url": "https://ross.abutalabs.com/products/netquality", "card": {"archived": false, "artifact_type": "cli-tool", "description": "网络质量检测脚本 - Network Quality Check Script", "domain": ["networking", "developer-tools"], "enriched": true, "function": ["monitoring", "networking", "analytics", "developer-tools"], "health_score": 76, "homepage": null, "language": "Shell", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["xykt/NetQuality"], "name": "xykt/NetQuality", "platform": ["cli", "cross-platform"], "pushed_at": "2026-07-15T14:37:57+00:00", "repo": "xykt/NetQuality", "stars": 5551, "tags": ["network-diagnostics", "speedtest", "bgp", "traceroute", "shell-script", "ipv6", "china-networks", "command-line", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["test my VPS network quality from China", "check return route latency to China Telecom/Unicom/Mobile", "run a speed test on a Linux server", "diagnose BGP and upstream info for my server IP", "trace full return routes with TCP large packets", "get JSON output of network diagnostics for analysis", "check IPv6 connectivity and quality"], "what_it_is": "A shell-based network quality diagnostic script that checks BGP info, TCP latency, return routes, and speed tests across Chinese and international networks. It supports IPv4/IPv6, multiple Linux distros and macOS, and outputs human-readable or JSON results.", "when_to_avoid": ["you need continuous network monitoring with alerting rather than one-off checks", "you need a GUI-based network diagnostic tool", "you are on Windows without Docker"], "when_to_choose": ["auditing network quality of servers/VPS, especially routes to mainland China", "you want a single-script, no-install diagnostic runnable via curl or Docker", "you need bilingual (Chinese/English) reports and JSON output"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/netquality", "repo": "xykt/NetQuality", "role": "main", "score": 61}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "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:09:22.313006+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:22.313006+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:55:39.557794+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8fb7d301ead16896d06dfad45a44eb25ea9397ba41f933b7ad4ddec361281399", "fetched_at": "2026-08-28T04:09:22.313006+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xykt/NetQuality"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 38, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 539, "days_push": 49, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 61, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}