{"adoption": {"forks": 1499, "observed_at": "2026-08-28T04:09:28.101070+00:00", "stars": 5704}, "canonical_url": "https://ross.abutalabs.com/products/proxysu", "card": {"archived": false, "artifact_type": "application", "description": "Xray,V2ray，Trojan，NaiveProxy, Trojan-Go, ShadowsocksR(SSR),Shadowsocks-libev及相关插件,MTProto+TLS 一键安装工具，windows下用（一键科学上网）", "domain": ["privacy", "censorship-circumvention", "networking", "self-hosted", "windows"], "enriched": true, "function": ["proxy", "vpn", "deployment", "ssh", "networking", "security"], "health_score": 93, "homepage": null, "language": "C#", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["proxysu/ProxySU"], "name": "proxysu/ProxySU", "platform": ["windows", "cross-platform"], "pushed_at": "2026-08-12T15:37:14+00:00", "repo": "proxysu/ProxySU", "stars": 5704, "tags": ["v2ray", "xray", "trojan", "naiveproxy", "shadowsocks", "one-click-install", "censorship-circumvention", "wpf", "vps", "linux", "desktop"], "topics": ["shadowrocket", "v2ray", "windows-v2ray", "proxy", "vpn", "websocket-tls", "v2rayng", "trojan", "shadowsocksr", "trojan-go", "naiveproxy", "shadowsocks", "ssr", "ssr-tls-caddy", "shadowsocks-libev", "v2ray-tls", "mtproto-proxy", "mtproto-tls", "ipv6", "xray"], "urls": [], "use_cases": ["set up a v2ray proxy server on my vps with one click", "install xray with tls on debian from windows", "deploy trojan-go and naiveproxy without typing commands", "enable bbr and shadowsocks on a fresh ubuntu vps", "configure a proxy node on an ipv6-only server", "self-host a censorship circumvention proxy"], "what_it_is": "A Windows WPF desktop application that provides one-click installation of proxy tools (Xray, V2ray, Trojan, Trojan-Go, NaiveProxy, ShadowsocksR, Shadowsocks-libev, Brook) on remote Linux VPS servers via SSH. It automates certificate setup, BBR enabling, and IPv6-only host support for self-hosted censorship circumvention.", "when_to_avoid": ["you need a Linux/macOS-native installer or CLI-only workflow", "your VPS is behind NAT and cannot bind ports 80/443 for TLS certificates", "you want to manage existing proxy installations rather than a fresh system"], "when_to_choose": ["you want a GUI on Windows to deploy proxy servers to a Linux VPS without manual shell work", "you are a beginner wanting one-click setup of Xray/V2ray/Trojan with TLS certificates", "you need to support IPv6-only VPS or enable BBR during install"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/proxysu", "repo": "proxysu/ProxySU", "role": "main", "score": 72}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "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:28.101070+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:28.101070+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:53:33.537394+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8a5a6a154df7d6f4b33b22cdff32c41e174fbc00062f45bf2975e177ce2cee59", "fetched_at": "2026-08-28T04:09:28.101070+00:00", "kind": "readme", "missing": false, "url": "https://github.com/proxysu/ProxySU"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 97, "longevity": 100, "rhythm": 24}, "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": 2373, "days_push": 21, "days_rel": 346, "gap_med": 100, "n_releases_24m": 2}, "score": 72, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}