{"adoption": {"forks": 82, "observed_at": "2026-08-28T04:07:23.857783+00:00", "stars": 2817}, "canonical_url": "https://ross.abutalabs.com/products/mangareader", "card": {"archived": false, "artifact_type": "application", "description": "一个漫画 APP📱，基于 react-native 构建，兼容 Android、Ios 平台", "domain": ["media", "mobile-development", "entertainment", "cross-platform"], "enriched": true, "function": ["gui", "web-scraping", "plugin-system", "file-upload", "image-processing"], "health_score": 57, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["youniaogu/MangaReader"], "name": "youniaogu/MangaReader", "platform": ["cross-platform"], "pushed_at": "2025-08-22T12:56:28+00:00", "repo": "youniaogu/MangaReader", "stars": 2817, "tags": ["manga-reader", "react-native", "comic-sources", "offline-library", "webview-auth", "cloudflare-bypass", "tablet-support", "download-export", "android", "ios", "mobile"], "topics": ["manga", "manhuagui", "android", "ios", "react-native", "copymanga", "dongmanzhijia", "manhuadb", "jmcomic", "mangareader", "manga-reader", "nhentai", "pica", "picacg", "mangabz"], "urls": [], "use_cases": ["read manga on android and ios from multiple sources", "download and export manga chapters for offline reading", "aggregate several manga websites in one app", "backup and restore my local manga library", "read webtoons in continuous vertical scroll mode", "log into sites like picacg through a webview", "pass cloudflare checks for protected manga sites"], "what_it_is": "A cross-platform manga reading app built with React Native for Android and iOS, with tablet support. It uses a plugin-based design to aggregate content from nearly ten manga websites, offering favorites, search, batch updates, downloads, and export with fully local offline data and backup/restore.", "when_to_avoid": ["you need a desktop or web manga reader", "you are unwilling to configure proxies or pass cloudflare checks for some sources", "you require a source that is already dead, such as manhuagui mainland or maofly", "you need signed ios distribution without sideloading via altstore"], "when_to_choose": ["you want a native-feeling manga reader on both android and ios from one codebase", "you need multiple manga site plugins with search, favorites, and batch updates", "you prefer all data stored locally with backup and restore", "you want tablet-optimized layouts and multiple reading modes like paged, webtoon, and dual-page"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/mangareader", "repo": "youniaogu/MangaReader", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "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:07:23.857783+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:07:23.857783+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T08:13:27.356113+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ff8cd386bbfbb822da0033e7b36e26d98ff1b3ca5db222418bba6243aef06ba9", "fetched_at": "2026-08-28T04:07:23.857783+00:00", "kind": "readme", "missing": false, "url": "https://github.com/youniaogu/MangaReader"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 38, "longevity": 100, "rhythm": 40}, "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": 1616, "days_push": 376, "days_rel": 410, "gap_med": 19.5, "n_releases_24m": 5}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}