{"adoption": {"forks": 419, "observed_at": "2026-08-28T04:04:12.895250+00:00", "stars": 1275}, "canonical_url": "https://ross.abutalabs.com/products/netkillergithubio", "card": {"archived": false, "artifact_type": "learning-resource", "description": "Netkiller Free ebook - 免费电子书", "domain": ["documentation", "tutorials", "developer-tools", "databases", "security"], "enriched": true, "function": ["documentation"], "health_score": 80, "homepage": "http://netkiller.github.io/", "language": "HTML", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["netkiller/netkiller.github.io"], "name": "netkiller/netkiller.github.io", "platform": ["bsd"], "pushed_at": "2026-08-24T04:59:14+00:00", "repo": "netkiller/netkiller.github.io", "stars": 1275, "tags": ["free-ebooks", "docbook", "epub", "mobi", "pdf", "chinese-language", "linux-administration", "devops", "mysql", "postgresql", "mongodb", "redis", "nginx", "openvpn", "strongswan", "openssl", "shell-scripting", "system-administration", "continuously-updated", "linux"], "topics": ["netkiller", "book", "ebook", "epub", "linux", "centos7", "mysql", "nginx", "ubuntu", "openvpn", "strongswan", "postgresql", "mongodb", "redis", "memcached", "apache", "tomcat", "freebsd", "docbook", "openssl"], "urls": [], "use_cases": ["free linux server administration ebook", "learn mysql and postgresql from a practical book", "nginx and apache configuration handbook", "devops and container deployment guide", "openvpn or strongswan vpn setup tutorial", "redis and memcached operations reference", "free chinese-language technical ebooks in epub or pdf", "shell scripting and monitoring handbook"], "what_it_is": "A long-running collection of free Chinese-language technical ebooks (the Netkiller 手札 series) authored in DocBook and published as HTML, EPUB, MOBI, and PDF. It covers practical system administration and engineering topics including Linux, DevOps, containers, databases (MySQL, PostgreSQL, MongoDB, Redis, Memcached), web servers (Nginx, Apache, Tomcat), and VPN/security (OpenVPN, strongSwan, OpenSSL).", "when_to_avoid": ["You need English-language documentation or beginner courses with structured exercises", "You want to contribute via pull requests, since the books are generated from private DocBook XML sources and PRs are not accepted", "You need an up-to-date replacement for official vendor documentation on rapidly changing tools"], "when_to_choose": ["You want free, continuously revised reference books on Linux/DevOps/database administration rather than one-off outdated articles", "You prefer downloading EPUB, MOBI, or PDF for offline reading", "You read Chinese and want hands-on ops walkthroughs from a single long-term maintainer"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/netkillergithubio", "repo": "netkiller/netkiller.github.io", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "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:12.895250+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:12.895250+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:03:02.481035+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "cda0e2d64ffc7475d82bcdd176b5fd7b4f22efb7cd07bc3f6d6a63202c284e05", "fetched_at": "2026-08-28T04:04:12.895250+00:00", "kind": "readme", "missing": false, "url": "https://github.com/netkiller/netkiller.github.io"}, {"content_hash": "8e353aff45d26793d1ce427f4155a0bd080201424a28a1ee866c0e3942b22321", "fetched_at": "2026-08-29T12:14:03.418827+00:00", "kind": "homepage", "missing": false, "url": "http://netkiller.github.io/"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 5632, "days_push": 9, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}