{"adoption": {"forks": 108, "observed_at": "2026-08-28T04:03:14.429932+00:00", "stars": 1016}, "canonical_url": "https://ross.abutalabs.com/products/yi-hack-v5", "card": {"archived": false, "artifact_type": "application", "description": "Even newer Custom Firmware for Xiaomi Cameras based on Hi3518ev200 Chipset. It includes free RTSP, ONVIF and other improvements based on the work by roleoroleo", "domain": ["iot", "embedded-systems", "self-hosted", "security"], "enriched": true, "function": ["http-server", "websocket", "monitoring", "security", "configuration-management"], "health_score": 25, "homepage": null, "language": "C", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["alienatedsec/yi-hack-v5"], "name": "alienatedsec/yi-hack-v5", "platform": ["embedded", "self-hosted"], "pushed_at": "2024-04-09T17:49:47+00:00", "repo": "alienatedsec/yi-hack-v5", "stars": 1016, "tags": ["custom-firmware", "rtsp", "onvif", "mqtt", "ip-camera", "xiaomi-yi", "hi3518ev200", "ptz", "home-assistant", "surveillance", "automation", "linux"], "topics": ["rtsp", "yi-dome", "yi-dome-1080p", "yi-home", "yi-home-1080p", "yi-cloud-dome-1080p", "onvif", "ptz", "ptz-control", "license-free-rtsp", "yi-hack-v5", "custom", "firmware"], "urls": [], "use_cases": ["stream my Yi camera over RTSP without paying for RTSP", "integrate Yi camera with Home Assistant via ONVIF", "get motion detection alerts through MQTT", "disable cloud features but keep local video streaming", "SSH into my Yi camera to tweak settings", "control pan-tilt-zoom on my Yi dome camera from a browser", "replace abandoned yi-hack-v4 firmware with an updated version"], "what_it_is": "Custom open-source firmware for Xiaomi Yi cameras based on the Hi3518ev200 chipset, adding a free RTSP server, ONVIF support, MQTT motion detection, SSH/FTP/web servers, and PTZ control. It is a continuation of roleoroleo's yi-hack work, built on newer stock firmware while keeping cloud features optional.", "when_to_avoid": ["your camera model or chipset is not in the supported list", "you are unwilling to flash custom firmware and risk bricking the device", "you need a plug-and-play solution with vendor support and warranty", "you use newer Yi models with different chipsets"], "when_to_choose": ["you own a supported Yi Home/Dome camera on the Hi3518ev200 chipset and want local RTSP/ONVIF streaming", "you want to keep stock cloud features while adding RTSP", "you need MQTT motion events for a self-hosted smart home setup", "you want SSH/FTP access and a web UI for camera configuration"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/yi-hack-v5", "repo": "alienatedsec/yi-hack-v5", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "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:03:14.429932+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:14.429932+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:11:17.654947+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed5fffb089430ae4fcf7081c7207c152be61de820d893e0cdad953c97e480f23", "fetched_at": "2026-08-28T04:03:14.429932+00:00", "kind": "readme", "missing": false, "url": "https://github.com/alienatedsec/yi-hack-v5"}], "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": 1975, "days_push": 876, "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}}