Autonomous (self-hosted) BitTorrent DHT search engine suite
Go to file
2024-07-25 17:45:28 +02:00
cmd update version number 2024-07-25 16:44:24 +02:00
doc initial commit of go-rewrite 2017-08-08 14:58:51 +03:00
magneticod_data fix docker 2020-02-21 11:39:35 +00:00
magneticow_conf fix docker 2020-02-21 11:39:35 +00:00
pkg fix error with sqlite ≥ 3.34 2024-07-25 13:46:36 +02:00
.gitignore simplify gitignore 2024-07-25 16:52:01 +02:00
COPYING Merge branch 'master' of https://github.com/boramalper/magnetico 2018-12-30 10:48:31 +01:00
default.nix default.nix: add option for static build 2024-07-25 17:32:35 +02:00
go.mod fix build with go > 1.21 2024-07-25 13:46:10 +02:00
go.sum fix build with go > 1.21 2024-07-25 13:46:10 +02:00
README.md update README after the project archival 2024-07-25 16:39:55 +02:00

Maintenance Notice

I (rnhmjoj) took over magnetico maintenance after the original author (boramalper) stopped working on it. You can consider the project in long maintenance mode: I will try to keep it up-to-date and working as best as I can, but don't expect any new features.

magnetico

Autonomous (self-hosted) BitTorrent DHT search engine suite.

magnetico is the first autonomous (self-hosted) BitTorrent DHT search engine suite that is designed for end-users. The suite consists of two packages:

  • magneticod: Autonomous BitTorrent DHT crawler and metadata fetcher.
  • magneticow: Lightweight web interface for magnetico.

Both programs, combined together, allows anyone with a decent Internet connection to access the vast amount of torrents waiting to be discovered within the BitTorrent DHT space, without relying on any central entity.

magnetico liberates BitTorrent from the yoke of centralised trackers & web-sites and makes it truly decentralised. Finally!

Features

  • Easy installation & minimal requirements:
  • Near-zero configuration:
    • Both programs work out of the box, and magneticow can be used without a web-server too.
    • Detailed, step-by-step manual to guide you through the installation.
  • No reliance on any centralised entity:
    • magneticod trawls the BitTorrent DHT by "going" from one node to another, and fetches the metadata using the nodes without using trackers.
  • Resilience:
    • Unlike client-server model that web applications use, P2P networks are chaotic and magneticod is designed to handle all the operational errors accordingly.
      • Currently on paper, wait for the v1.0!
  • High performance implementation in Go:
    • magneticod utilizes every bit of your resources to discover as many infohashes & metadata as possible.
  • Built-in lightweight web interface:
    • magneticow features a lightweight web interface to help you access the database without getting on your way.

Screenshots

Click on the images to view full-screen.

The Homepage Searching for torrents Torrent page
The Homepage Searching for torrents Viewing the metadata of a torrent

Why?

BitTorrent, being a distributed P2P file sharing protocol, has long suffered because of the centralised entities that people depended on for searching torrents (websites) and for discovering other peers (trackers). Introduction of DHT (distributed hash table) eliminated the need for trackers, allowing peers to discover each other through other peers and to fetch metadata from the leechers & seeders in the network. magnetico is the finishing move that allows users to search for torrents in the network, hence removing the need for centralised torrent websites.

Build Instructions

To build from source, if you have Nix, simply do nix-build in the project directory.

Otherwise, make sure you have:

  1. the standard Go toolchain
  2. a C compiler
  3. the sqlite library

and then do

go install -tags='fts5,libsqlite3' -ldflags='-s -w' ./cmd/magneticod
go install -tags='fts5,libsqlite3' -ldflags='-s -w' ./cmd/magneticow

Installation Instructions

  1. Install magneticod first by following its installation instructions.
  2. Install magneticow afterwards by following its installation instructions.

License

All the code is licensed under AGPLv3, unless stated otherwise specifically. See COPYING for details.


Dedicated to Cemile Binay, in whose hands I thrived.

Bora M. ALPER bora@boramalper.org