Skip to content

torrust/torrust-index

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9d4eab1 · Oct 14, 2023
Aug 2, 2023
Oct 14, 2023
Oct 14, 2023
Oct 14, 2023
Oct 14, 2023
Sep 18, 2023
Oct 14, 2023
Oct 14, 2023
Oct 14, 2023
Oct 14, 2023
Oct 14, 2023
Nov 30, 2022
May 8, 2023
Sep 12, 2023
Nov 29, 2022
May 4, 2023
Oct 14, 2023
Oct 14, 2023
Oct 14, 2023
Oct 13, 2023
Oct 14, 2023
Nov 30, 2022
Sep 27, 2023
Oct 14, 2023
Nov 30, 2022
Oct 14, 2023
Jun 20, 2023

Repository files navigation

Torrust Index

container_wf_b coverage_wf_b deployment_wf_b testing_wf_b

Torrust Index, is a BitTorrent Index (a service where a group of people can maintain a set of torrents and their associated metadata), written in Rust Language and axum (a modern web application framework). This index aims to be respectful to established standards, (both [formal][BEP 00] and otherwise).

This is a Torrust project and is in active development. It is community supported as well as sponsored by [Nautilus Cyberneering][nautilus].

  • We have a container guide for those who wish to get started with Docker or Podman

Key Features

  • High Quality and Modern Rust Codebase.
  • Rest API documentation generated from code comments.
  • Comprehensive Suit of Unit and Functional Tests.
  • Good Performance in Busy Conditions.
  • Native IPv4 and IPv6 support.
  • Support for either SQLite3 or MySQL databases.
  • Categories and Tags
  • Image Proxy

Getting Started

Container Version

The Torrust Index is deployed to DockerHub, you can run a demo immediately with the following commands:

Docker:

docker run -it torrust/index:develop

Please read our container guide for more information.

Podman:

podman run -it torrust/index:develop

Please read our container guide for more information.

Development Version

Requirements:

  • Rust Stable 1.72

You can follow the documentation to install and use Torrust Index in different ways, but if you want to give it a quick try, you can use the following commands:

git clone https://github.com/torrust/torrust-index.git \
  && cd torrust-index \
  && cargo build --release

And then run cargo run twice. The first time to generate the config.toml file and the second time to run the index with the default configuration.

After running the index the API will be available at http://localhost:3001.

Documentation

The technical documentation is available at docs.rs.

Contributing

This is an open-source community supported project.
We welcome contributions from the community!

How can you contribute?

  • Bug reports and feature requests.
  • Code contributions. You can start by looking at the issues labeled "good first issues".
  • Documentation improvements. Check the documentation and API documentation for typos, errors, or missing information.
  • Participation in the community. You can help by answering questions in the discussions.

License

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 https://www.gnu.org/licenses/.

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

Legacy Exception

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

Contributions

The copyright of the Torrust Index is retained by the respective authors.

Contributors agree:

The Torrust-Index project has no copyright assignment agreement.

Acknowledgments

This project was a joint effort by Nautilus Cyberneering GmbH, Dutch Bits and collaborators. Thank you to you all!