{"adoption": {"forks": 699, "observed_at": "2026-08-28T04:10:41.447988+00:00", "stars": 10276}, "canonical_url": "https://ross.abutalabs.com/products/joevess-iptv", "card": {"archived": false, "artifact_type": "dataset", "description": "IPTV直播源抓取 自动整合hao趣网直播源+TVBox直播源+其他网上直播源 择取分辨率、速度最佳视频流 定期更新", "domain": ["media", "crawlers"], "enriched": true, "function": ["web-scraping", "etl", "streaming"], "health_score": 20, "homepage": null, "language": null, "license": null, "license_family": "other", "maturity": "active", "member_repos": ["joevess/IPTV"], "name": "joevess/IPTV", "platform": ["cross-platform", "self-hosted"], "pushed_at": "2024-12-31T20:36:21+00:00", "repo": "joevess/IPTV", "stars": 10276, "tags": ["iptv", "m3u8", "live-tv", "playlist", "tvbox", "china-tv", "stream-sources", "automation", "web-server"], "topics": [], "urls": [], "use_cases": ["get free live TV m3u8 playlists for Chinese channels", "find working IPTV sources for CCTV and provincial channels", "aggregate and deduplicate public IPTV streams automatically", "load live TV channels into TVBox or IPTV player apps", "keep an updated playlist of best-quality live streams"], "what_it_is": "An automatically updated collection of IPTV live-stream playlists (m3u8) aggregating sources from haoqu, TVBox, and other public sources, selecting the best resolution and speed streams. It publishes curated playlists of CCTV, provincial, and local Chinese TV channels on a regular update schedule.", "when_to_avoid": ["you need non-Chinese or international channel sources", "you require a legally licensed streaming service", "you need a self-contained scraper tool rather than published playlists"], "when_to_choose": ["you want ready-to-use m3u8 playlists for Chinese live TV", "you need regularly refreshed IPTV sources without maintaining them yourself", "you use TVBox or similar players that accept m3u playlists"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/joevess-iptv", "repo": "joevess/IPTV", "role": "main", "score": 28}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "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:41.447988+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:10:41.447988+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:19:21.428825+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c3bc3d1937205490d1f7652a8989c1289432f88b0803df41bfee57b6f0bd24d2", "fetched_at": "2026-08-28T04:10:41.447988+00:00", "kind": "readme", "missing": false, "url": "https://github.com/joevess/IPTV"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 77, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 1083, "days_push": 610, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 28, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}