A unified JavaScript library for discovering BitTorrent and WebTorrent peers via trackers, DHT, and LSD.
Torrent-discovery is a JavaScript library that provides a unified API for discovering peers in BitTorrent and WebTorrent networks. It solves the problem of integrating multiple peer discovery mechanisms—like trackers, DHT, and LSD—by bundling them into a single module, simplifying the development of torrent clients.
Developers building BitTorrent or WebTorrent clients in Node.js or the browser who need a reliable and easy-to-integrate peer discovery solution.
It offers a streamlined, event-driven API that works across environments, automatically handles peer announcements, and supports starting discovery with minimal metadata, reducing implementation complexity compared to using individual discovery libraries.
Discover BitTorrent and WebTorrent peers
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Combines tracker, DHT, and LSD clients into a single interface, simplifying integration as shown in the bundled API that emits events for peers from all sources.
Works in both Node.js and the browser via browserify, enabling WebTorrent peer discovery with WebRTC, as highlighted in the features section.
Manages periodic announcing to trackers and DHT automatically for maximum peer discovery, evidenced by the API's built-in interval handling without manual setup.
Can begin finding peers with just an info hash, even before full torrent metadata is available, reducing initial dependencies as noted in the features list.
Bundles three separate libraries (bittorrent-tracker, bittorrent-dht, bittorrent-lsd), increasing project size and potential for version conflicts or maintenance issues.
Exclusively designed for BitTorrent and WebTorrent protocols, making it unsuitable for other peer-to-peer applications without significant modification.
While the top-level API is simple, tuning options for each submodule requires deep knowledge of their individual configurations, adding setup overhead.