explaingit

pbh-btn/peerbanhelper

5,974JavaAudience · ops devopsComplexity · 3/5Setup · moderate

TLDR

Self-hosted Java tool that connects to your BitTorrent client and automatically bans peers that leech without uploading, fake download progress, or come from known-bad IP addresses.

Mindmap

mindmap
  root((PeerBanHelper))
    What it does
      Auto-ban bad peers
      Real-time monitoring
      Rule-based blocking
    Block rules
      Blacklists
      IP and region ban
      Fake progress detect
      Auto-range ban
    Client support
      qBittorrent
      BiglyBT
      Deluge
      Transmission
    Web interface
      Active bans
      Ban history
      Rule statistics
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Automatically block leeching or fake-progress peers across all active torrents in qBittorrent in real time.

USE CASE 2

Subscribe to community-maintained cloud rule sets so shared knowledge about bad actors updates your block list automatically.

USE CASE 3

Block peers by country or IP range using the GeoIP database that the tool downloads on first run.

USE CASE 4

Review ban history, active bans, and rule-trigger statistics through the built-in web dashboard.

Tech stack

Java

Getting it running

Difficulty · moderate Time to first run · 30min

BiglyBT and Deluge require installing a plugin before connecting, the README is written in Chinese.

License not mentioned in the explanation, check the repository for terms.

In plain English

PeerBanHelper is an open-source security tool for BitTorrent users that automatically detects and blocks unwanted or abusive peers in a torrent download session. In a BitTorrent network, your download client connects to many other users (called peers) to share pieces of a file. Some of these peers behave badly: they might download without uploading (called leeching), report fake progress to cheat the network, or disguise themselves using spoofed client identifiers. PeerBanHelper identifies these peers and tells your BitTorrent client to disconnect from them. The tool connects to supported BitTorrent clients through their web APIs and monitors the peer list in real time. Supported clients include qBittorrent, BiglyBT, Deluge, Transmission, and BitComet, though BiglyBT and Deluge require installing a plugin. The tool is written in Java and runs as a background service with its own web interface. Blocking rules fall into several categories. There are blacklists for known bad peer IDs and client names. IP addresses can be blocked individually or by geographic region using a GeoIP database that the tool downloads automatically on first run. The tool can detect peers that are reporting fake download progress, which is a way some clients try to avoid being disconnected. An auto-range ban feature will block a range of IP addresses if too many bad actors are found within the same block. The web interface shows active bans, historical ban logs, and charts summarizing which rules triggered most often. Users can also subscribe to cloud-maintained rule sets that are updated by the project's community, adding shared knowledge about known bad actors to the local tool. The README is written in Chinese. Documentation and a live demo are linked in the repository. The project notes that it does not support I2P or Tor connections.

Copy-paste prompts

Prompt 1
I'm running qBittorrent and want PeerBanHelper to automatically ban peers that report fake download progress. How do I install it and connect it to my qBittorrent instance?
Prompt 2
How do I configure PeerBanHelper's auto-range ban feature so it blocks an entire IP subnet when too many bad peers are detected within the same range?
Prompt 3
Show me how to subscribe to a community cloud rule set in PeerBanHelper so my local block list stays updated without manual intervention.
Prompt 4
How do I use PeerBanHelper's GeoIP blocking to ban all peers connecting from a specific country?
Prompt 5
PeerBanHelper shows a peer in the active ban log, how do I read the rule that triggered the ban and adjust the threshold if it is too aggressive?
Open on GitHub → Explain another repo

← pbh-btn on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.