{"adoption": {"forks": 337, "observed_at": "2026-08-28T04:04:44.199629+00:00", "stars": 1440}, "canonical_url": "https://ross.abutalabs.com/products/yi-hack", "card": {"archived": false, "artifact_type": "application", "description": "Xiaomi Yi Ants camera hack", "domain": ["iot", "privacy", "hardware", "self-hosted"], "enriched": true, "function": ["security", "self-hosted", "developer-tools"], "health_score": 20, "homepage": null, "language": "Shell", "license": null, "license_family": "other", "maturity": "abandoned", "member_repos": ["fritz-smh/yi-hack"], "name": "fritz-smh/yi-hack", "platform": ["embedded", "iot"], "pushed_at": "2018-10-03T02:12:48+00:00", "repo": "fritz-smh/yi-hack", "stars": 1440, "tags": ["ip-camera", "firmware-modification", "rtsp", "xiaomi-yi", "custom-firmware", "surveillance", "linux"], "topics": [], "urls": [], "use_cases": ["enable rtsp streaming on xiaomi yi camera", "stop my ip camera sending video to the cloud", "view my yi home camera in vlc or nvr locally", "use xiaomi camera without the smartphone app", "self-host security camera footage on local network", "add ftp and http server to yi ants camera"], "what_it_is": "A collection of shell scripts and binaries that replace parts of the Xiaomi Yi Ants home camera firmware, disabling cloud connectivity and enabling RTSP, FTP, HTTP, and Telnet servers for local-only use. It is installed via a microSD card and runs on the camera's embedded Linux system.", "when_to_avoid": ["you have a different camera model or newer Yi firmware that is unsupported", "you want an actively maintained project with security updates", "your camera is a China-only model with regional restrictions"], "when_to_choose": ["you own a Xiaomi Yi Ants camera and want fully local, cloud-free operation", "you need RTSP streams to feed an NVR or home automation system", "you prefer not to use the vendor's smartphone app or Chinese servers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yi-hack", "repo": "fritz-smh/yi-hack", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "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:44.199629+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:44.199629+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:36:31.344570+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "a38c4ae64745137359fed9fbe429e6b43d33ec9754847aa0e5fb965cb70fd9f3", "fetched_at": "2026-08-28T04:04:44.199629+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fritz-smh/yi-hack"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "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": 3829, "days_push": 2892, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}