{"adoption": {"forks": 415, "observed_at": "2026-08-28T04:04:30.555821+00:00", "stars": 1364}, "canonical_url": "https://ross.abutalabs.com/products/luci-app-wechatpush", "card": {"archived": false, "artifact_type": "plugin", "description": "OpenWrt Notification Plugin – Send Alerts to WeChat or Telegram", "domain": ["networking", "self-hosted", "monitoring"], "enriched": true, "function": ["monitoring", "alerting", "webhook"], "health_score": 92, "homepage": null, "language": "Shell", "license": "GPL-2.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["tty228/luci-app-wechatpush"], "name": "tty228/luci-app-wechatpush", "platform": ["cli"], "pushed_at": "2026-07-14T15:48:51+00:00", "repo": "tty228/luci-app-wechatpush", "stars": 1364, "tags": ["openwrt", "luci", "wechat", "telegram", "router", "shell", "push-notification", "notification", "automation", "linux"], "topics": ["notification", "openwrt", "openwrt-package", "luci"], "urls": [], "use_cases": ["notify me when my router's public IP changes", "alert me when devices connect or disconnect from my network", "monitor router CPU load and temperature with push alerts", "get notified when someone logs into my router's web or SSH interface", "send scheduled router status reports to WeChat or Telegram", "track device traffic usage on my OpenWrt router", "automatically blacklist IPs after failed login attempts"], "what_it_is": "A LuCI plugin for OpenWrt routers that sends notifications to WeChat, Telegram, or email about network events like IP changes, device online/offline status, CPU load, temperature, and login alerts. It is implemented in Shell and integrates with services such as ServerChan, PushPlus, WxPusher, WeCom, and Telegram bots.", "when_to_avoid": ["you are not using OpenWrt or a LuCI-compatible router", "your router has very limited memory since the plugin needs curl, jq, bash, and arping", "you need push channels like DingTalk, Feishu, or Bark natively (use the pushbot fork instead)"], "when_to_choose": ["you run OpenWrt and want push notifications about router and network events", "you want WeChat, WeCom, Telegram, or email alerts without running extra services", "you need device presence detection and login alerts on a home router"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/luci-app-wechatpush", "repo": "tty228/luci-app-wechatpush", "role": "main", "score": 87}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "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:30.555821+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:30.555821+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:41:22.754397+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "fcb95b78f07f436568dc7d735ed4a6fa1565cca2153ecfd349e3c578b38ca9ea", "fetched_at": "2026-08-28T04:04:30.555821+00:00", "kind": "readme", "missing": false, "url": "https://github.com/tty228/luci-app-wechatpush"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 92, "longevity": 100, "rhythm": 73}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 2634, "days_push": 50, "days_rel": 183, "gap_med": 7, "n_releases_24m": 10}, "score": 87, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}