{"adoption": {"forks": 156, "observed_at": "2026-08-28T04:03:57.538025+00:00", "stars": 1197}, "canonical_url": "https://ross.abutalabs.com/products/hosts_scan", "card": {"archived": false, "artifact_type": "cli-tool", "description": "这是一个用于IP和域名碰撞匹配访问的小工具，旨意用来匹配出渗透过程中需要绑定hosts才能访问的弱主机或内部系统。", "domain": ["security", "penetration-testing", "developer-tools", "networking"], "enriched": true, "function": ["security", "penetration-testing", "cli", "http-client"], "health_score": 20, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "maintenance", "member_repos": ["fofapro/Hosts_scan"], "name": "fofapro/Hosts_scan", "platform": ["python", "cli", "windows"], "pushed_at": "2019-04-30T11:15:55+00:00", "repo": "fofapro/Hosts_scan", "stars": 1197, "tags": ["hosts-binding", "vhost-discovery", "internal-systems", "ip-domain-matching", "recon", "linux", "macos"], "topics": [], "urls": [], "use_cases": ["find internal systems that require hosts file binding during a pentest", "discover virtual hosts hidden behind an IP address", "match domains against IP ranges to find weakly configured hosts", "enumerate vhost mappings on a web server", "locate internal portals accessible only with correct Host header"], "what_it_is": "A small Python tool that brute-force matches IP addresses against domain names by binding Hosts headers, to discover weak or internal systems that only respond when the correct hostname is used. It reads ip.txt and hosts.txt and iterates over all combinations, with a multithreaded variant including a progress bar.", "when_to_avoid": ["you need a full-featured vhost enumeration tool with TLS/SNI support", "you want an actively maintained tool with a license and recent updates", "you need a GUI or automated reporting"], "when_to_choose": ["you need a simple script to brute-force IP-to-hostname matching during penetration testing", "you want a lightweight multithreaded tool without heavy dependencies"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/hosts_scan", "repo": "fofapro/Hosts_scan", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "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:03:57.538025+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:57.538025+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:21:27.136981+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "00f5c233193fe39b2cc6f00f6f5c9fb84f36999af21a794c5ac4b03b3f176311", "fetched_at": "2026-08-28T04:03:57.538025+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fofapro/Hosts_scan"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2792, "days_push": 2682, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}