{"adoption": {"forks": 214, "observed_at": "2026-08-28T04:09:59.736882+00:00", "stars": 7409}, "canonical_url": "https://ross.abutalabs.com/products/geoip2-cn", "card": {"archived": false, "artifact_type": "dataset", "description": "小巧精悍、准确、实用 GeoIP2 数据库", "domain": ["networking", "privacy", "censorship-circumvention", "developer-tools"], "enriched": true, "function": ["search-engine", "networking", "security"], "health_score": 80, "homepage": "https://hackl0us.com", "language": "Go", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["Hackl0us/GeoIP2-CN"], "name": "Hackl0us/GeoIP2-CN", "platform": ["cross-platform", "self-hosted"], "pushed_at": "2026-08-25T02:29:40+00:00", "repo": "Hackl0us/GeoIP2-CN", "stars": 7409, "tags": ["geoip", "geoip2", "mmdb", "china-ip", "proxy-rules", "surge", "clash", "shadowrocket", "quantumultx", "ip-database"], "topics": ["geoip", "geoip2", "surge", "clash", "proxy", "shadowrocket", "shadowsocks", "quantumultx"], "urls": [], "use_cases": ["make GEOIP,CN rules direct China traffic accurately in Clash or Surge", "replace GeoLite2 mmdb that requires registration to download", "reduce proxy tool memory and load time with a tiny China-only IP database", "fix wrong geo-lookup of Chinese IPs like Alibaba Cloud Hong Kong", "download a CN ip-cidr list for firewalls or older proxy tools", "auto-update China IP data every few days via CDN"], "what_it_is": "A compact (~100 KB) GeoIP2 database containing only mainland China IP address ranges, built by merging ipip.net and CZ (纯真) data and updated automatically every three days. It is designed as a drop-in replacement for MaxMind GeoLite2 in proxy tools like Surge, Clash, Shadowrocket, and Quantumult X for accurate GEOIP,CN routing decisions.", "when_to_avoid": ["you need GeoIP lookups for countries or regions other than mainland China", "you need detailed ISP, city, or ASN metadata for IPs", "you need a general-purpose global geolocation database"], "when_to_choose": ["your proxy rules only need to distinguish mainland China IPs from everything else", "you use Surge, Clash, Shadowrocket, Quantumult X, or similar tools and want accurate, fast GEOIP,CN lookups", "you want a small, frequently updated, CDN-distributed database without MaxMind registration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/geoip2-cn", "repo": "Hackl0us/GeoIP2-CN", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "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:59.736882+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:59.736882+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:37:51.915799+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "9d1a07a5d702523f349ac3e51eb207cc98ef0c2c7d6c1ff6ea6bcb23baf6c991", "fetched_at": "2026-08-28T04:09:59.736882+00:00", "kind": "readme", "missing": false, "url": "https://github.com/Hackl0us/GeoIP2-CN"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2093, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}