index

Key Features

Torrust Index provides a highly optimized and scalable platform for organizing torrent metadata. With fast search capabilities and a robust backend powered by Rust, the index ensures efficient performance for even the most demanding use cases. Designed with privacy in mind, it allows users to manage their content freely while upholding strong data integrity principles.

High quality and modern Rust codebase

Good performance in busy conditions

Native IPv4 and IPv6 support

Persistent SQLite3 or MySQL databases

Stack

Torrust Index is powered by SQLite and MySQL, leveraging Rust (Axum) for the REST API and Nuxt (VUE) for the frontend.

Comparison to other products

Compared to other torrent indexing solutions, Torrust Index offers a unique blend of speed, security, and scalability. By leveraging modern technologies like Rust and SQLite, it outperforms many competitors in resource efficiency and ease of use. Its open-source nature ensures transparency, allowing contributors to shape the future development of the platform based on community needs.

If you want to include your Index on the following tables or update data for any of them, please open a PR.

General information

Repo Name License Stars Contributors Type Local-hosted Multiuser Public Demo
TorrustAGPL-3.03811GeneralNoYesYes visit
UNIT3DMIT1.8k108GeneralNoYesYes visit
bitmagnetMIT 1.8k15GeneralYesNoNo
NexusPHPGPL-2.077116GeneralNo??
TorrentPierMIT26015Movies;Music?YesYes visit
GazellePWMIT23410MovieNoYesYes

Features

Repo Name BitTorrent v2 DHT crawler DB Language/Framework API Importer Torznab Autoclassifier Integration with '*Arrs' Integration with TMDB Observability & Telemetry Mobile-friendly Multi-language Themes Forum Invitations Polls Webfeed
TorrustNoNoSQLite3;MySQLRust;TypeScript;NuxtYesRESThealthcheckNoNoNoNoNoNoYesNoNoNoNo
UNIT3D??MySQLPHP(Laravel);Livewire????????Yes?YesYesYes?
bitmagnet?YesPostgreSQLGo;TypeScript/AngularYes : GraphQL,tornnabYesYesYesYesYesGrafana;Prometheus???????
NexusPHP?? ?PHP ??????????????
TorrentPierYes? ?PHP ????????YesYesYes YesYesYes
GazellePW?? ?PHP;JS(ReactT )???????YesYesYes????

Installation

We have made the installation of the Index as easy and enjoyable as possible. First at all, offering different ways to run it. You can compile from sources or use the pre-built container images. We have also taken into consideration cloud environments, making it easy to deploy the index to multiple hosting providers (using either VMs or containers).

We have also taken into consideration cloud environments, making it easy to deploy the index to multiple hosting providers (using either VMs or containers). We run a demo site on Digital Ocean to collect direct feedback about how easy it is to manage the application on production. Our goal is to make sure sysadmins can:

  • Easily backup the database or app configuration.
  • Collect logs to check if the application is running without errors.
  • Access the running services.
  • Monitor services with automatic healthchecks.

Besides that, the application also provides two ways to inject the configuration, via TOML files or environment variables. We've make an extra effort to make it clear, easy to change and provide the admin concise error messages when is wrong.

Software requirements

  • SQLite 3 or MySQL 8.0.
  • Rust Stable 1.68 if you compile from sources.
  • A running Torrust Tracker. You can check the Tracker page for installation instructions.

Check the latest documentation for more details about installation and requirements.

Build from sources

You can easily build the Rust app with cargo.

terminal
git clone git@github.com:torrust/torrust-index.git \
  && cd torrust-index && cargo build --release \
  && mkdir -p ./storage/database

Then you can run it with:

terminal
./target/release/torrust-index

Run with docker

You can use docker or podman to run the containerized application:

terminal
cd /tmp \
  && mkdir torrust-index \
  && cd torrust-index \
  && export USER_ID=1000 \
  && docker run -it \
    --env USER_ID="$USER_ID" \
    --publish 3001:3001/tcp \
    --volume "$(pwd)/storage/index/lib":"/var/lib/torrust/index" \
    --volume "$(pwd)/storage/index/log":"/var/log/torrust/index" \
    --volume "$(pwd)/storage/index/etc":"/etc/torrust/index" \
    torrust/index:develop

Please refer to the official documentation to learn more about running the index with docker.

Roadmap

Torrust vision is to provide a good set of tools for the BitTorrent ecosystem. We know that this take a big effort and a long time. That's why we plan for the future. This is a summary of all things we are planning to implement.

You can participate in defining the future of Torrust. Join our public discussions on GitHub.

  • Persistence
    • Support other databases
  • Integrations
    • Webhooks
  • Administration
    • Improve categories and tag management
    • User management: list, ban users
    • Full-private mode
    • User statistics
  • User management
    • Reset or change password
    • User profile
    • Invitation system
    • User moderation
    • Add torrent providing only infohash
    • Improve search: Import torrents documents and provide better search capabilities
  • Torrents
    • Customize "source" and "creator" torrent fields after uploading
    • Implement BEP 19: WebSeed - HTTP/FTP Seeding (GetRight style)
    • Implement BEP 32: BitTorrent DHT Extensions for IPv6
  • Others
    • Multi-tracker
    • Multi-language

License

We want the software to be as useful and spread as possible.

Copyright

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, version 3.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see www.gnu.org/licenses. Some files include explicit copyright notices and/or license notices.

Legacy Exception

For prosperity, versions of Torrust Tracker that are older than five years are automatically granted the MIT-0 license in addition to the existing AGPL-3.0-only license.