{"adoption": {"forks": 340, "observed_at": "2026-08-28T04:05:24.255072+00:00", "stars": 1700}, "canonical_url": "https://ross.abutalabs.com/products/fasttunnel", "card": {"archived": false, "artifact_type": "application", "description": "expose a local server to the internet.  高性能跨平台的内网穿透解决方案 远程内网计算机 域名访问内网站点 反向代理内网服务 端口转发 http代理 ", "domain": ["networking", "self-hosted", "developer-tools", "privacy"], "enriched": true, "function": ["proxy", "networking", "http-server", "security"], "health_score": 89, "homepage": null, "language": "C#", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["FastTunnel/FastTunnel"], "name": "FastTunnel/FastTunnel", "platform": ["cross-platform", "windows", "dotnet", "cli"], "pushed_at": "2026-05-20T06:59:34+00:00", "repo": "FastTunnel/FastTunnel", "stars": 1700, "tags": ["nat-traversal", "reverse-proxy", "port-forwarding", "tunnel", "intranet-penetration", "tcp-proxy", "http-proxy", "remote-access", "linux", "macos"], "topics": ["tunnel", "proxy", "http-proxy", "tcp-proxy", "reverse-proxy", "nat", "ssh", "rdp"], "urls": [], "use_cases": ["expose a local web server to the internet", "access my home computer remotely via SSH or RDP", "use a custom domain to reach an intranet site for WeChat development", "forward a port to reach internal MySQL or Redis", "reverse proxy services behind NAT without a public IP", "build a custom tunneling app on top of a penetration framework"], "what_it_is": "FastTunnel is a high-performance, cross-platform intranet penetration (NAT traversal) tool written in C#/.NET that exposes local network services to the public internet. It supports remote access to intranet computers, custom domain access to internal web services, and port forwarding, and can also be used as an extensible framework via its NuGet package.", "when_to_avoid": ["you need P2P tunneling (not yet supported)", "you need a battle-tested solution for critical production traffic", "you prefer a tool with a large ecosystem and plugin marketplace"], "when_to_choose": ["you need a self-hosted ngrok/frp alternative", "you want domain-based access to multiple intranet web services", "you need a .NET-extensible tunneling framework", "you need cross-platform (Windows/Linux/Mac) tunneling"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/fasttunnel", "repo": "FastTunnel/FastTunnel", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "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:05:24.255072+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:24.255072+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:37:44.945464+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a7d93b23e77ad0e0763dd1181209f47c8a608d3218987efc21dd5d47ae1f62a1", "fetched_at": "2026-08-28T04:05:24.255072+00:00", "kind": "readme", "missing": false, "url": "https://github.com/FastTunnel/FastTunnel"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 83, "longevity": 100, "rhythm": 84}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2453, "days_push": 105, "days_rel": 105, "gap_med": 0, "n_releases_24m": 4}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}