{"adoption": {"forks": 299, "observed_at": "2026-08-28T04:06:56.516767+00:00", "stars": 2492}, "canonical_url": "https://ross.abutalabs.com/products/easy163", "card": {"archived": false, "artifact_type": "application", "description": "安卓端一键解锁网易云音乐，无须 ROOT", "domain": ["android-tools", "media", "privacy"], "enriched": true, "function": ["proxy", "networking", "vpn"], "health_score": 20, "homepage": null, "language": "Java", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["ndroi/easy163"], "name": "ndroi/easy163", "platform": [], "pushed_at": "2022-11-06T07:24:01+00:00", "repo": "ndroi/easy163", "stars": 2492, "tags": ["netease-cloud-music", "music-unblocker", "vip-unlock", "local-vpn", "java", "android"], "topics": ["netease-cloud-music", "vpn", "unblocker", "android-app", "vip"], "urls": [], "use_cases": ["play vip songs on netease cloud music without paying", "listen to delisted songs on netease cloud music", "download any song from netease cloud music to my phone", "unblock netease cloud music on android without root", "save delisted songs to favorites on netease"], "what_it_is": "An Android app that runs a local VPN service to intercept and redirect NetEase Cloud Music HTTP requests, sourcing VIP and delisted songs from other music platforms. It requires no root and also enables downloading any song to local storage.", "when_to_avoid": ["you need a maintained project - the latest release is from 2022 and upstream music sources may have changed", "you are on iOS or desktop", "you cannot accept the app proxying all NetEase HTTP traffic", "you need login while the VPN service is active"], "when_to_choose": ["you use NetEase Cloud Music on Android and want VIP or delisted tracks without root", "you want a one-tap local solution with no server setup", "you want to download songs to local storage"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/easy163", "repo": "ndroi/easy163", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "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:06:56.516767+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:56.516767+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:27:46.325255+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "b1e187d877d1198461b5123c4b5bcfe4d1b164b5eeac86e7a8402af1fa0c4b3a", "fetched_at": "2026-08-28T04:06:56.516767+00:00", "kind": "readme", "missing": false, "url": "https://github.com/ndroi/easy163"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2300, "days_push": 1396, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 23, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}