{"adoption": {"forks": 802, "observed_at": "2026-08-28T04:05:18.736832+00:00", "stars": 1663}, "canonical_url": "https://ross.abutalabs.com/products/youtube-viewer", "card": {"archived": false, "artifact_type": "application", "description": "A multithreaded view bot for YouTube", "domain": ["social-media", "developer-tools"], "enriched": true, "function": ["web-scraping", "proxy", "concurrency", "http-server"], "health_score": 20, "homepage": null, "language": "Python", "license": "MIT", "license_family": "permissive", "maturity": "abandoned", "member_repos": ["MShawon/YouTube-Viewer"], "name": "MShawon/YouTube-Viewer", "platform": ["python", "windows"], "pushed_at": "2024-07-08T12:39:37+00:00", "repo": "MShawon/YouTube-Viewer", "stars": 1663, "tags": ["youtube-view-bot", "selenium", "browser-automation", "proxies", "livestream-views", "multithreaded", "viewbot", "not-working", "automation", "linux", "macos", "desktop"], "topics": ["youtube-viewer", "youtube-views", "youtube-view-bot", "youtube-bot", "python-bot", "selenium-bot", "selenium-youtube", "youtube", "bots", "viewbot", "chromedrivers", "proxies", "youtube-video", "youtube-livestream", "youtube-live", "youtube-stream"], "urls": [], "use_cases": ["increase youtube video views automatically", "boost youtube livestream viewer count", "selenium bot for youtube views", "rotate proxies for a youtube view bot", "run multithreaded youtube traffic bot", "self-hosted youtube views bot with http api"], "what_it_is": "A Python-based multithreaded YouTube view bot that uses Selenium-driven browser sessions with free, premium, and rotating proxies to inflate video and livestream view counts, and exposes an HTTP API for control. The author has posted a notice that it no longer works and should not be used until a fixed release appears.", "when_to_avoid": ["The author explicitly states it is not working anymore and tells users not to use it until a fix is released", "You need a legitimate, YouTube ToS-compliant way to grow an audience - this bot violates platform rules and causes view drops", "You require a maintained, reliable tool - the project is effectively dormant with broken core functionality"], "when_to_choose": ["You want a self-hosted Python bot that simulates YouTube views over proxy pools for educational or testing purposes", "You need to drive both regular videos and live streams with configurable free, premium, or rotating proxies", "You want an HTTP API to trigger view campaigns remotely"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/youtube-viewer", "repo": "MShawon/YouTube-Viewer", "role": "main", "score": 23}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "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:18.736832+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:18.736832+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:44:30.782712+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "feeb333184f471e1719ebc126a5a31b40cefeecaaf18d58b36816fc9fc9c4bea", "fetched_at": "2026-08-28T04:05:18.736832+00:00", "kind": "readme", "missing": false, "url": "https://github.com/MShawon/YouTube-Viewer"}], "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": 2063, "days_push": 786, "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}}