{"adoption": {"forks": 2041, "observed_at": "2026-08-28T04:10:51.690919+00:00", "stars": 12078}, "canonical_url": "https://ross.abutalabs.com/products/listen-1", "card": {"archived": false, "artifact_type": "application", "description": "one for all free music in china (chrome extension, also works for firefox)", "domain": ["media", "entertainment", "cross-platform", "self-hosted"], "enriched": true, "function": ["audio-processing", "search-engine", "gui", "browser-extension"], "health_score": 49, "homepage": "https://listen1.github.io/listen1", "language": "JavaScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["listen1/listen1", "listen1/listen1_desktop", "listen1/listen1_chrome_extension"], "name": "Listen 1", "platform": ["browser", "browser-extension", "windows", "cross-platform"], "pushed_at": "2025-06-17T13:15:48+00:00", "repo": "listen1/listen1_chrome_extension", "stars": 12078, "tags": ["music-player", "music-aggregator", "streaming", "chrome-extension", "electron", "playlist", "china-music-platforms", "netease-music", "qq-music", "bilibili", "desktop", "macos", "linux", "javascript"], "topics": ["chrome-extension", "music-player"], "urls": [{"kind": "homepage", "url": "https://listen1.github.io/listen1"}], "use_cases": ["search and play songs across multiple Chinese music streaming sites in one place", "avoid switching between music apps because of copyright restrictions", "create and manage playlists combining tracks from different platforms", "automatically fall back to another platform when a song's source is unavailable", "listen to music in the browser without installing a desktop app", "play music offline on Windows, Mac, or Linux via a desktop client"], "what_it_is": "Listen 1 is an open-source music player that aggregates search and playback from multiple Chinese streaming platforms (NetEase Cloud Music, QQ Music, Kugou, Kuwo, Bilibili, Migu, Qianqian) in one interface. It ships as a Chrome/Firefox/Edge browser extension, an Electron desktop app for Windows/Mac/Linux, a Python web-server version, and a React Native mobile app.", "when_to_avoid": ["you primarily use international services like Spotify, Apple Music, or YouTube Music", "you need licensed, fully legal access to copyrighted music - the project has faced DMCA takedowns and platform blocking", "you require high-fidelity lossless audio or official offline downloads with DRM support"], "when_to_choose": ["you listen to music hosted on Chinese platforms like NetEase, QQ Music, Kugou, Kuwo, Bilibili, or Migu", "you want one unified player and playlist library instead of juggling several streaming sites", "you prefer a free, open-source, ad-free player with no donations or accounts required"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/repos/listen1/listen1_chrome_extension", "repo": "listen1/listen1_chrome_extension", "role": "main", "score": 35}, {"path": "/repos/listen1/listen1_desktop", "repo": "listen1/listen1_desktop", "role": "main", "score": 57}, {"path": "/repos/listen1/listen1", "repo": "listen1/listen1", "role": "main", "score": 35}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "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:10:51.690919+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:51.690919+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:14:57.370126+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26dc803ec09bfe2c120344c9dae958e082e19beded993045f6b51253548142cb", "fetched_at": "2026-08-28T04:10:51.690919+00:00", "kind": "readme", "missing": false, "url": "https://github.com/listen1/listen1_chrome_extension"}, {"content_hash": "5e677f0155ec66b51e20112aefc510c40ce647c3b23e77c1b96cd5b21edb3de3", "fetched_at": "2026-08-29T08:13:02.838324+00:00", "kind": "homepage", "missing": false, "url": "https://listen1.github.io/listen1"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 27, "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": 3777, "days_push": 442, "days_rel": 442, "gap_med": null, "n_releases_24m": 1}, "score": 35, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}