92 lines
4.7 KiB
Markdown
92 lines
4.7 KiB
Markdown
> # 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:
|
|
- [Pre-compiled static binaries](https://maxwell.ydns.eu/git/rnhmjoj/magnetico/releases)
|
|
- Root access is *not* required to install or to use.
|
|
- 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.*
|
|
|
|
<!-- Use https://www.tablesgenerator.com/markdown_tables -->
|
|
| ![The Homepage](https://i.imgur.com/RuMctMh.png) | ![Searching for torrents](https://i.imgur.com/ZmLfc12.png) | ![Torrent page](https://i.imgur.com/k4Quwt7.png) |
|
|
|:-------------------------------------------------------------------------------------------------------------------------------------------------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
| __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](cmd/magneticod/README.md).
|
|
2. Install **magneticow** afterwards by following its
|
|
[installation instructions](cmd/magneticow/README.md).
|
|
|
|
## 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>
|