Stay up to date with Torrust!

Watch our GitHub repos

tracker

Key Features

Sapien malesuada massa quam gravida ipsum iaculis nisl massa id. Sit tortor morbi in aenean lectus vel nulla dolor. Facilisis rhoncus viverra consequat dictum. Lobortis venenatis morbi et tortor feugiat.

High quality and modern Rust codebase

Documentation generated from code comments

Comprehensive suite of unit and functional tests

Good performance in busy conditions

Support for UDP, HTTP, and TLS sockets

Native IPv4 and IPv6 support

Private & whitelisted mode

Tracker management API

Support newTrackon checks

Native IPv4 and IPv6 support

Persistent SQLite3 or MySQL databases

Stack

Torrust Tracker supports SQLite and MySQL and leverages the strength of Rust (Axum) for the REST API and the HTTP tracker.

Comparison to other products

Sapien malesuada massa quam gravida ipsum iaculis nisl massa id. Sit tortor morbi in aenean lectus vel nulla dolor. Facilisis rhoncus viverra consequat dictum. Lobortis venenatis morbi et tortor feugiat.

NameLicenseStartsContributorsTypeUDPHTTPWebTorrentAPIScrapeStatsWhitelistIntegrationsHigh AvailabilityTLSIPv6DatabasesDockerK8SLanguageOSRepo LinkDemoUse Case
TorrustAGPL-3.0 license3811GeneralNOYESYESNONOSQLite3 MySQLRust TypeScript/NuxtYESREST https://github.com/torrust/torrust-indexhealthcheckNONONONONONOYESNONONONONOhttps://index.torrust-demo.com/torrents

Performance

It's important to outline the compromises made during the Torrust Tracker's development. Our aim was to create a tracker that is not only quick and reliable but also feature-rich and maintainable. Often, these two sets of goals conflict with each other. We acknowledge that achieving the highest speed comes with certain limitations.

Generally, our approach has been:

“Accepting a minor reduction in speed for significant gains highlights our dedication to offering a tracker that excels in features and user-friendliness, not just in speed.”

We are using the aquatic "bencher" tool for benchmarking.

You can also read our blog article about "benchmarking for the tracker".

Installation

Software requirements

  • Optional: SQLite 3 or MySQL 8.0. Only if persistence is enabled.
  • Rust Stable 1.68 if you compile from sources.

See here for details.

You can install the Tracker from sources or use docker.

  • Install from sources: here
  • Run with docker: here

There is a tutorial to install the Tracker and Index on a Digital Ocean droplet: Deploying Torrust to Production

The setup should be very similar in any hosting providing VMs. If you need help or find a problem trying to install the tracker you can open a question on the GitHub discussions.

Build from sources (Rust)

Commodo ullamcorper blandit massa odio mauris odio ornare. Adipiscing imperdiet neque convallis nisl quisque quisque. Fringilla bibendum sit lectus tellus ut urna condimentum tristique. Nisi lectus malesuada consectetur morbi id fringilla et. Blandit mus senectus a elit nisl.

Mauris ut dolor dolor nam. Dolor viverra tincidunt egestas ac vulputate. Phasellus sed massa facilisis rhoncus in. Ipsum fermentum est diam justo nibh quis. Libero rutrum quam donec tellus at et.

Sed quis enim amet tempor aliquet eget. Phasellus sem vel tincidunt pellentesque non hendrerit cras magna. Volutpat convallis aliquet non lectus quam enim. Nunc ut augue urna vitae venenatis. Pellentesque congue blandit facilisi lectus ac libero.

Docker

Interdum augue mattis tortor ornare in. Feugiat phasellus integer massa mauris. Leo sit tempus leo eu tellus feugiat malesuada purus. Metus erat eleifend ante sed sem gravida nunc lobortis et. Arcu elit faucibus eget egestas aliquet vivamus consectetur.

Laoreet id nisl pharetra sed ut massa dis interdum. Eget eu lacus fringilla sem dignissim cras ridiculus. Potenti cras diam nunc ultricies. Ut metus amet faucibus quam nibh mattis at. Cras in rhoncus ipsum ut id sit id.

Licenses

Copyright (c) 2023 The Torrust Developers.

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 here.

Some files include explicit copyright notices and/or license notices.

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 here.

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.

Roadmap

Future features:

Core

  • New option 'want_ip_from_query_string'. See here.
  • Permanent keys. See here.
  • Peer and torrents specific statistics. See here.

Persistence

  • Support other databases.
  • Support for PostgreSQL.

Performance

  • Concurrent write torrents repository (DashMap)

Protocols

  • WebTorrent

Integrations

  • Monitoring (Prometheus)

Utils

  • Tracker client
  • Tracker checker

Others

  • Support Windows
  • Docker images for other architectures