{"adoption": {"forks": 258, "observed_at": "2026-08-28T04:06:31.343239+00:00", "stars": 2257}, "canonical_url": "https://ross.abutalabs.com/products/xteve", "card": {"archived": false, "artifact_type": "service", "description": "M3U Proxy for Plex DVR and Emby Live TV", "domain": ["media", "self-hosted", "web-development"], "enriched": true, "function": ["proxy", "streaming", "http-server", "middleware"], "health_score": 80, "homepage": null, "language": "Go", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["xteve-project/xTeVe"], "name": "xteve-project/xTeVe", "platform": ["windows", "bsd", "self-hosted", "cross-platform"], "pushed_at": "2026-08-24T21:09:14+00:00", "repo": "xteve-project/xTeVe", "stars": 2257, "tags": ["m3u-proxy", "iptv", "xmltv", "plex-dvr", "emby-live-tv", "epg", "hls", "live-tv", "tuner-emulation", "linux", "macos", "docker"], "topics": [], "urls": [], "use_cases": ["use iptv m3u playlists with plex dvr", "merge multiple m3u playlists into one live tv source", "add xmltv epg guide data to plex or emby", "proxy and buffer hls streams for emby live tv", "filter and reorder iptv channels", "limit number of simultaneous tuners for iptv streams"], "what_it_is": "xTeVe is a self-hosted M3U proxy server written in Go that merges and manages IPTV playlists (M3U) and XMLTV guide data for Plex DVR and Emby Live TV. It provides channel filtering, mapping, ordering, and an adjustable HLS/M3U8 buffer with configurable tuner counts.", "when_to_avoid": ["you don't use Plex or Emby as your media server", "you need a general-purpose video streaming server rather than an M3U proxy", "you need a production-stable beta-free setup without testing (beta branch is unstable)"], "when_to_choose": ["you use Plex Pass or Emby Premiere and want IPTV channels in your DVR/live TV", "you need to combine several M3U and XMLTV sources into a single endpoint", "you want automatic playlist/EPG updates and stream buffering"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/xteve", "repo": "xteve-project/xTeVe", "role": "main", "score": 67}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "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:31.343239+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:06:31.343239+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T02:43:40.926762+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "c24756cbadd35446cf337bdc0891fd4ef7e8870b8fd3e8f4fd29ffdf8a480688", "fetched_at": "2026-08-28T04:06:31.343239+00:00", "kind": "readme", "missing": false, "url": "https://github.com/xteve-project/xTeVe"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 8}, "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": 2592, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 67, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}