bitmagnet

A self-hosted BitTorrent indexer, DHT crawler, content classifier and torrent search engine with web UI, GraphQL API and Servarr stack integration.

WebUI screenshot

Important

This software is currently in alpha. It is ready to preview some interesting and unique features, but there will likely be bugs, as well as API and database schema changes before the (currently theoretical) 1.0 release. If you’d like to support this project and help it gain momentum, please give it a star on GitHub or sponsor it on OpenCollective.

DHT what now…?

The DHT crawler is bitmagnet’s killer feature that makes it unique. So what is it?

You might be aware that you can enable DHT in your BitTorrent client, and that this allows you find peers who are announcing a torrent’s hash to a Distributed Hash Table (DHT), rather than to a centralized tracker. DHT’s lesser known feature is that it allows you to crawl the info hashes it knows about. This is how bitmagnet’s DHT crawler works - it crawls the DHT network, requesting metadata about each info hash it discovers. It then further enriches this metadata by attempting to classify it and associate it with known pieces of content, such as movies and TV shows. It then allows you to search everything it has indexed.

This means that bitmagnet is not reliant on any external trackers or torrent indexers. It’s a self-contained, self-hosted torrent indexer, connected via DHT to a global network of peers and constantly discovering new content.

Features & Roadmap

Currently implemented features

High priority features not yet implemented

  • A WebUI dashboard showing things like crawler throughput, task queue, database size etc.
  • Authentication, API keys, access levels etc.
  • An admin API, and in general a more complete GraphQL API
  • A more complete web UI
  • Saved searches for content of particular interest, enabling custom feeds in addition to the following feature
  • Bi-directional integration with the Prowlarr indexer proxy: Currently bitmagnet can be added as an indexer in Prowlarr; bi-directional integration would allow bitmagnet to crawl content from any indexer configured in Prowlarr, unlocking many new sources of content
  • More documentation and more tests!

Pipe dream features

This is where things start to get a bit nebulous. For now all focus is on delivering the core features above, but some of these ideas could be explored in future:

  • In-place seeding: identify files on your computer that are part of an indexed torrent, and allow them to be seeded in place after having moved, renamed or deleted parts of the torrent
  • Integration with popular BitTorrent clients
  • Federation of some sort: allow friends to connect instances and pool the indexing effort, perhaps involving crowd sourcing manual content curation to supplement the automated classifiers
  • Something that looks like a decentralized private tracker; by this I probably mean something that’s based partly on personal trust and manually weeding out any bad actors; I’d be wary of creating something that looks a bit like Tribler, which while an interesting project seems to have demonstrated that implementing trust, reputation and privacy at the protocol level carries too much overhead to be a compelling alternative to plain old BitTorrent, for all its imperfections
  • Support for the BitTorrent v2 protocol: It remains to be seen if wider adoption will ever make this a valuable feature