{"adoption": {"forks": 143, "observed_at": "2026-08-28T04:04:00.097807+00:00", "stars": 1210}, "canonical_url": "https://ross.abutalabs.com/products/pure-live-core", "card": {"archived": false, "artifact_type": "service", "description": "✨ Make Live Pure Again", "domain": ["media", "self-hosted", "web-development"], "enriched": true, "function": ["http-server", "websocket", "streaming", "proxy", "cli"], "health_score": 20, "homepage": "https://github.com/iyear/pure-live-core", "language": "Go", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["iyear/pure-live-core"], "name": "iyear/pure-live-core", "platform": ["windows", "self-hosted", "cross-platform", "go"], "pushed_at": "2023-02-24T13:35:48+00:00", "repo": "iyear/pure-live-core", "stars": 1210, "tags": ["livestream", "bilibili", "douyu", "huya", "twitch", "danmaku", "live-stream-proxy", "media-server", "command-line", "linux", "macos", "docker"], "topics": ["live", "livestream", "bilibili", "bilibili-live", "huya", "douyu", "douyulive", "twitch"], "urls": [], "use_cases": ["watch bilibili livestreams without gifts and popups", "self-host a clean livestream viewer on my NAS", "get danmaku chat stream via websocket for a live room", "proxy a live stream locally to avoid CORS issues", "fetch live stream URLs from douyu or huya via command line", "run a low-memory livestream hub for my whole LAN"], "what_it_is": "A self-hosted Go server and CLI that provides a clean livestream viewing experience for platforms like Bilibili, Douyu, Huya, and Twitch, stripping away gifts, fan clubs, and popups to show only the stream and danmaku (bullet comments). It wraps platform websocket protocols, forwards live streams locally to bypass CORS, and ships with a built-in web frontend.", "when_to_avoid": ["you need commercial use (the project is learning-only under AGPL-3.0)", "you require optimized websocket compression for large-scale public deployments", "you need platforms beyond the supported set or active feature development (last release early 2023)"], "when_to_choose": ["you want a distraction-free livestream interface for Chinese streaming platforms", "you need a lightweight self-hosted server to share clean live viewing across a LAN", "you want programmatic access to live stream and danmaku data via CLI or websocket"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/pure-live-core", "repo": "iyear/pure-live-core", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "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:00.097807+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:00.097807+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:18:13.902699+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8794caf3604d4254dfb208a761fcd626a4d8db73a5d3ebed5198afe94ae2922b", "fetched_at": "2026-08-28T04:04:00.097807+00:00", "kind": "readme", "missing": false, "url": "https://github.com/iyear/pure-live-core"}, {"content_hash": "6de8e9f2b5ef95d0acf38fd5e8d2262f7b3e071629229d769db5501a3115f23c", "fetched_at": "2026-08-29T12:26:07.101472+00:00", "kind": "homepage", "missing": false, "url": "https://github.com/iyear/pure-live-core"}], "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": 1731, "days_push": 1286, "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}}