{"adoption": {"forks": 123, "observed_at": "2026-08-28T04:04:22.863399+00:00", "stars": 1327}, "canonical_url": "https://ross.abutalabs.com/products/tcping", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Ping TCP ports using tcping. Inspired by Linux's ping utility. Written in Go", "domain": ["networking", "developer-tools"], "enriched": true, "function": ["networking", "monitoring", "cli"], "health_score": 99, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["pouriyajamshidi/tcping"], "name": "pouriyajamshidi/tcping", "platform": ["windows", "bsd", "cli", "cross-platform"], "pushed_at": "2026-08-25T20:04:27+00:00", "repo": "pouriyajamshidi/tcping", "stars": 1327, "tags": ["tcp-ping", "latency-monitoring", "packet-loss", "go", "icmp-alternative", "network-diagnostics", "command-line", "linux", "macos"], "topics": ["networking", "tcp", "tcping", "ping", "linux", "windows", "macos", "command-line-tool", "golang", "latency-monitor"], "urls": [], "use_cases": ["ping a TCP port when ICMP is blocked by a firewall", "monitor network latency and packet loss to a server", "test DNS load balancing or GSLB with hostname re-resolution", "measure uptime and downtime of a service endpoint", "export TCP probe results to JSON or CSV for analysis", "check if a specific port is reachable on a remote host"], "what_it_is": "A cross-platform command-line tool written in Go that pings TCP ports instead of ICMP, inspired by Linux's ping utility. It measures latency, packet loss, and connection quality, with output in colored, plain, JSON, CSV, and sqlite3 formats.", "when_to_avoid": ["you need traditional ICMP ping or traceroute functionality", "you need continuous graphical network monitoring dashboards", "you need to probe UDP services"], "when_to_choose": ["ICMP is blocked but TCP connectivity must be verified", "you need cross-platform TCP ping on Linux, macOS, Windows, or BSD", "you want structured output (JSON/CSV/sqlite) for automated monitoring", "auditing latency and connection quality of TCP services"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/tcping", "repo": "pouriyajamshidi/tcping", "role": "main", "score": 85}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "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:04:22.863399+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:22.863399+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:46:18.957503+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f76d25f381d863a1124f9843ce0434ca6d51d5441539b00b25ea72c90787ad3", "fetched_at": "2026-08-28T04:04:22.863399+00:00", "kind": "readme", "missing": false, "url": "https://github.com/pouriyajamshidi/tcping"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 59}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2015, "days_push": 8, "days_rel": 114, "gap_med": 104, "n_releases_24m": 4}, "score": 85, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}