{"adoption": {"forks": 264, "observed_at": "2026-08-28T04:03:56.610225+00:00", "stars": 1193}, "canonical_url": "https://ross.abutalabs.com/products/drcom-generic", "card": {"archived": false, "artifact_type": "cli-tool", "description": "Dr.COM/DrCOM 现已覆盖 d p x三版。", "domain": ["networking", "developer-tools"], "enriched": true, "function": ["networking", "security", "cli"], "health_score": 20, "homepage": null, "language": "Python", "license": "AGPL-3.0", "license_family": "copyleft", "maturity": "maintenance", "member_repos": ["drcoms/drcom-generic"], "name": "drcoms/drcom-generic", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2023-03-08T13:48:05+00:00", "repo": "drcoms/drcom-generic", "stars": 1193, "tags": ["drcom", "campus-network", "8021x", "authentication-client", "openwrt", "reverse-engineered-protocol", "command-line", "linux"], "topics": [], "urls": [], "use_cases": ["log into Dr.COM campus network from Linux", "authenticate campus internet on an OpenWrt router", "replace the official DrCOM Windows client", "keep dorm internet connection alive with automatic relogin", "run campus network login on a headless device", "reverse engineer Dr.COM authentication protocol packets"], "what_it_is": "An open-source Python reimplementation of the Dr.COM/DrCOM campus network authentication client, with d, p, and x protocol variants. It lets users log into campus networks from Linux, routers (OpenWrt), and other non-Windows platforms without the official client.", "when_to_avoid": ["your campus uses a different authentication system (e.g., plain portal or standard 802.1X supplicant)", "you need a polished GUI client", "you require commercial usage - the license forbids it"], "when_to_choose": ["your school uses Dr.COM/DrCOM authentication and you use Linux, macOS, or a router instead of Windows", "you want scripted or automated campus network login", "you need to run the client on embedded hardware like OpenWrt or ESP8266"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/drcom-generic", "repo": "drcoms/drcom-generic", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "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:56.610225+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:56.610225+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T06:22:13.513062+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "8ffaf2baa91b0e5a71eb5b92df5272e82703e47f42baa5e2cb793ab0ae1e2c76", "fetched_at": "2026-08-28T04:03:56.610225+00:00", "kind": "readme", "missing": false, "url": "https://github.com/drcoms/drcom-generic"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4502, "days_push": 1274, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}