{"adoption": {"forks": 152, "observed_at": "2026-08-28T04:09:40.016454+00:00", "stars": 6210}, "canonical_url": "https://ross.abutalabs.com/products/peerbanhelper", "card": {"archived": false, "artifact_type": "application", "description": "Automatically block unwanted, leeches and abnormal BT peers with support for customized and cloud rules.| BT 反吸血工具 - 自动封禁不受欢迎、吸血和异常的 BT 客户端，并支持自定义规则。支持 qB/qBEE/Deluge/BiglyBT/BitComet", "domain": ["networking", "security", "privacy", "self-hosted"], "enriched": true, "function": ["security", "networking", "monitoring", "webhook", "self-hosted"], "health_score": 99, "homepage": null, "language": "Java", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["PBH-BTN/PeerBanHelper"], "name": "PBH-BTN/PeerBanHelper", "platform": ["cross-platform", "self-hosted", "jvm"], "pushed_at": "2026-08-21T13:57:09+00:00", "repo": "PBH-BTN/PeerBanHelper", "stars": 6210, "tags": ["bittorrent", "anti-leech", "peer-banning", "ip-blocklist", "geoip", "qbittorrent", "transmission", "deluge", "biglybt", "bitcomet", "java", "docker", "web-server"], "topics": ["bittorrent", "qbittorrent", "xunlei", "transmission", "peerbanhelper", "dt-torrrent", "hp-torrent", "biglybt", "deluge", "gt0002", "gt0003", "xl0012", "xl0018", "xl0019", "xm0001", "dt0001", "hp0001", "bitcomet"], "urls": [], "use_cases": ["automatically ban leeching bittorrent peers", "block clients that fake upload progress", "ban peers by country or ASN with geoip rules", "subscribe to community ip blocklists for my torrent client", "protect qbittorrent from abusive swarm peers", "view which ips got banned and why", "auto range-ban related ips of a banned peer"], "what_it_is": "PeerBanHelper is a self-hosted Java application that automatically bans unwanted, leeching, and abnormal BitTorrent peers by connecting to the Web APIs of supported clients like qBittorrent, Transmission, Deluge, BiglyBT, and BitComet. It offers customizable and cloud-sourced block rules, GeoIP-based banning, fake-progress detection, and a WebUI for viewing ban statistics.", "when_to_avoid": ["your downloader runs in Docker bridge mode, since real peer IPs are required (host networking is mandatory)", "you use clients outside the supported list or older versions", "you need to block I2P or Tor connections, which are deliberately ignored"], "when_to_choose": ["you run a supported BitTorrent client (qBittorrent 4.5+, Transmission 4.1+, Deluge, BiglyBT, BitComet) and want automated anti-leech protection", "you want customizable rules plus optional community/cloud rule subscriptions", "you want a WebUI with ban history, statistics, and GeoIP insights"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/peerbanhelper", "repo": "PBH-BTN/PeerBanHelper", "role": "main", "score": 88}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "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:09:40.016454+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:09:40.016454+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T17:47:17.811977+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "e0271d69d7e60a39bcc93e066487378a979d2d31ad68f439043f8da491083029", "fetched_at": "2026-08-28T04:09:40.016454+00:00", "kind": "readme", "missing": false, "url": "https://github.com/PBH-BTN/PeerBanHelper"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 98, "longevity": 67, "rhythm": 86}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 938, "days_push": 12, "days_rel": 14, "gap_med": 3.0, "n_releases_24m": 101}, "score": 88, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}