{"adoption": {"forks": 224, "observed_at": "2026-08-28T04:05:15.009110+00:00", "stars": 1638}, "canonical_url": "https://ross.abutalabs.com/products/yi-hack-v4", "card": {"archived": false, "artifact_type": "application", "description": "New Custom Firmware for Xiaomi Cameras based on Hi3518e Chipset. It features RTSP, SSH, FTP and more!", "domain": ["iot", "self-hosted", "hardware", "security"], "enriched": true, "function": ["http-server", "streaming", "security", "networking"], "health_score": 20, "homepage": null, "language": "Shell", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["TheCrypt0/yi-hack-v4"], "name": "TheCrypt0/yi-hack-v4", "platform": ["embedded", "self-hosted"], "pushed_at": "2021-04-16T13:12:08+00:00", "repo": "TheCrypt0/yi-hack-v4", "stars": 1638, "tags": ["custom-firmware", "rtsp", "xiaomi-yi-camera", "home-assistant", "onvif", "mqtt", "ssh", "ftp", "surveillance", "linux"], "topics": ["yi-camera", "camera", "hack", "xiaomi", "yi-home", "yi-dome", "rtsp", "onvif", "firmware", "cloud", "custom"], "urls": [], "use_cases": ["stream my Yi Home camera to Home Assistant via RTSP", "use Xiaomi Yi camera with Shinobi or ZoneMinder NVR", "enable SSH and FTP on my Yi camera", "get motion detection alerts through MQTT from a Yi camera", "replace the cloud app with local ONVIF camera streaming", "flash custom firmware on Yi Dome or Yi Outdoor 1080p camera"], "what_it_is": "Custom firmware for Xiaomi Yi cameras based on the Hi3518e chipset, adding an RTSP server, SSH, FTP, web server, and MQTT motion detection while keeping stock cloud features. It is distributed as flashable firmware images and configured through a built-in web interface.", "when_to_avoid": ["your camera model is not on the supported list or uses a different chipset", "you are uncomfortable flashing firmware that can brick the device", "you need ongoing updates and support - the project has not released since 2021"], "when_to_choose": ["you own a supported Hi3518e-based Xiaomi Yi camera and want RTSP/ONVIF streaming", "you want to integrate the camera into a local NVR or Home Assistant without the cloud app", "you need SSH/FTP access to the camera's Linux system"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yi-hack-v4", "repo": "TheCrypt0/yi-hack-v4", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "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:05:15.009110+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:15.009110+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:46:32.648469+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "26c38fc542bea91fbdddf86a676ad11a3e9aaf9b98329bf1e2fbbb851d58b025", "fetched_at": "2026-08-28T04:05:15.009110+00:00", "kind": "readme", "missing": false, "url": "https://github.com/TheCrypt0/yi-hack-v4"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "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": 2793, "days_push": 1965, "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}}