{"adoption": {"forks": 545, "observed_at": "2026-08-28T04:04:43.454903+00:00", "stars": 1435}, "canonical_url": "https://ross.abutalabs.com/products/cfnat-windows-gui", "card": {"archived": false, "artifact_type": "application", "description": "CFnat 为 Windows 用户设计的 GUI 程序界面。", "domain": ["networking", "privacy", "censorship-circumvention", "developer-tools"], "enriched": true, "function": ["networking", "proxy", "developer-tools"], "health_score": 30, "homepage": null, "language": "C#", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["cmliu/CFnat-Windows-GUI"], "name": "cmliu/CFnat-Windows-GUI", "platform": ["windows"], "pushed_at": "2024-11-25T17:22:15+00:00", "repo": "cmliu/CFnat-Windows-GUI", "stars": 1435, "tags": ["cloudflare", "ip-optimization", "port-forwarding", "anycast", "gui", "cfnat", "ip-scanning", "desktop"], "topics": ["cloudflare", "cloudflare-ip", "cloudflare-ips", "cfnat"], "urls": [], "use_cases": ["find the fastest cloudflare ip for my network", "optimize cloudflare ip routing on windows", "screen cloudflare datacenter ips by latency", "set up local port forwarding to cloudflare ips", "fix unstable anycast routing to cloudflare", "pick best cloudflare colo like hkg or sjc", "generate a cloudflare preferred ip list"], "what_it_is": "A Windows GUI wrapper (written in C#) around the CFnat tool, which automatically finds and tests Cloudflare datacenter IPs and sets up local port forwarding to the best-performing ones. It targets users on networks with unstable anycast routing to Cloudflare, such as China Mobile and China Broadcasting networks.", "when_to_avoid": ["you need a supported, officially endorsed tool for production or commercial use - the project explicitly disclaims support and liability", "you are not working with Cloudflare IP optimization or port forwarding", "you require a maintained product with technical assistance - the author provides none", "your use case may be restricted by local laws - the project is stated to be for educational, research, and security-testing purposes only"], "when_to_choose": ["you are on Windows and want a graphical interface for CFnat without using the command line", "your ISP (e.g. China Mobile or China Broadcasting) has unstable routes to Cloudflare anycast IPs", "you want to filter Cloudflare IPs by datacenter, latency, and TLS port and forward local traffic to them", "you need prebuilt binaries for x86, amd64, and ARM including Windows 7"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/cfnat-windows-gui", "repo": "cmliu/CFnat-Windows-GUI", "role": "main", "score": 24}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "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:43.454903+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:43.454903+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:51.049384+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0e23f2c357b708e76307103d5bd01764459f0561ad556219d243057b1de4d31d", "fetched_at": "2026-08-28T04:04:43.454903+00:00", "kind": "readme", "missing": false, "url": "https://github.com/cmliu/CFnat-Windows-GUI"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 49, "rhythm": 40}, "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": 690, "days_push": 646, "days_rel": 646, "gap_med": 1, "n_releases_24m": 12}, "score": 24, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}