Traqueur Torrust-Actix
Description du projet
Torrust-Actix Tracker est un tracker BitTorrent léger mais incroyablement puissant et riche en fonctionnalités créé avec Rust.
Actuellement, il est activement utilisé sur https://www.gbitt.info/.
Ce projet est issu du code Torrust-Tracker initialement développé par Mick van Dijke, développé ensuite par Power2All comme alternative à OpenTracker et à d'autres codes de suivi disponibles sur GitHub.
Caractéristiques
MPE mises en œuvre
- BEP 3 : Le protocole BitTorrent
- BEP 7 : prise en charge d'IPv6
- BEP 15 : Protocole de suivi UDP pour BitTorrent
- BEP 23 : Le tracker renvoie des listes de pairs compactes
- BEP 41 : Extensions du protocole de suivi UDP
- BEP 48 : Extension du protocole de suivi : Scrape
Commencer
Vous pouvez obtenir les derniers binaires des versions ou suivre les instructions d'installation à partir de zéro ci-dessous.
Installer à partir de zéro
- Clonez le dépôt :
git clone https://github.com/Power2All/torrust-actix.git
cd torrust-actix
- Construisez le code source en utilisant Rust (assurez-vous d'avoir installé Rustup avec une branche stable)
Utilisation du script de construction
Usage
Exécutez le code en utilisant l'argument --help
pour l'utiliser dans votre environnement :
./target/release/torrust-actix --help
Avant de pouvoir exécuter le serveur, vous devez soit désactiver la persistance et, lorsqu'elle est activée, vous assurer que votre base de données est créée et fonctionne. Consultez l'argument d'aide ci-dessus pour savoir comment réparer votre configuration comme vous le souhaitez.
L'interface utilisateur Swagger est introduite et, lorsqu'elle est activée dans la configuration, elle est accessible via l'API via /swagger-ui/
.
La prise en charge de Sentry.io est introduite, vous pouvez l'activer dans la configuration et l'URL vers laquelle transmettre les données.
Journal des modifications
v4.0.4
- Poursuite de la mise en œuvre de Sentry (journalisation des traces)
v4.0.3
- Correction des chemins d'annonce et de grattage, car ce n'est pas le bon sens.
- Correction de divers bugs plus petits qui ne brisent pas l'application, mais qui devraient être mieux gérés.
- Ajout de la prise en charge de Sentry.io SaaS et de la configuration auto-hébergée.
- Préparation du travail pour la version v4.1.0, qui introduira le support LUA pour le middleware.
v4.0.2
- Ajout d'une option selon laquelle le système supprimera les données de la base de données.
- Ajout de variables de mise à jour pour la liste blanche/noire et les tables de clés.
- Renommer la "base de données" qui devrait être "tables".
- Beaucoup de correctifs et de bugs sur lesquels je suis tombé.
v4.0.0
- Entièrement reconstruit du code du tracker, pour plus de lisibilité.
- Déplacé vers Actix v4, versionnant ainsi ce logiciel également vers la v4.0.0.
- Reconstruit et refait la façon dont le fichier de configuration est créé (vous devez donner la commande comme argument).
- Refait tout le système de base de données, est testé avec les dernières versions disponibles à ce moment.
- L'API a fait l'objet de beaucoup de travail et de tests.
- Introduction de l'interface utilisateur Swagger en tant que test et documentation.
- De nombreuses améliorations en termes de vitesse et de performances ont été appliquées ultérieurement.
- Fonction d'importation et d'exportation ajoutée, permettra de vider ou d'importer à partir de fichiers JSON, pratique lors d'une sauvegarde à partir de votre base de données existante ou lors de la migration vers un autre moteur de base de données.
- WebGUI supprimé, était obsolète et pas vraiment utile.
v3.2.2
- Versions de bibliothèque considérablement améliorées, y compris les correctifs de sécurité.
- Correction de modifications dans les bibliothèques pour fonctionner correctement.
- Ajustement du code de non-persistance pour utiliser moins de mémoire.
v3.2.1
- Versions de bibliothèque modifiées, y compris les correctifs de sécurité.
- Correction d'un bug dans le gestionnaire PostgreSQL.
- Quelques noms oubliés de Torrust-Axum à Torrust-Actix.
v3.2.0
- Versions de bibliothèque modifiées.
- En modifiant la façon dont la planification était effectuée via les threads, cela pourrait bloquer et ralentir les trackers publics ayant une activité intense.
- Ajustement de l'utilisation de la base de données SQLite3 et de la consommation de l'espace de la base de données.
- Refonte complète de la façon dont les torrents et les pairs sont utilisés en mémoire. Utilisation de crossbeam skipmap pour un partage de mémoire non verrouillable sécurisé par thread.
- Quelques améliorations diverses sur les performances de codage, la lisibilité et le peluchage des fichiers.
- Remplacement du framework Web Tokio Axum pour Actix, raison : des éléments critiques manquants comme un délai d'attente lors de la connexion, de la déconnexion, de la lecture et de l'écriture, et le support était terne.
- Renommé le référentiel github de torrust-axum en torrust-actix.
- Ajout du support de suivi des utilisateurs avec une clé supplémentaire.
v3.1.2
- Versions de bibliothèque modifiées.
- Ajout d'un fichier Code de conduite, car certains projets open source en ont besoin.
- Ajout d'une fonction de basculement de maintenance à l'API et à l'interface Web.
- Le fichier de configuration n'est pas généré s'il n'existe pas ou s'il contient des données invalides, à moins d'être forcé avec un argument '--create-config'.
- Correction de divers petits bugs.
v3.1.1
- Versions de bibliothèque modifiées.
- La base de données pour SQLite3, MySQL et PostgreSQL fonctionne désormais correctement avec toutes les tables et sera utilisée si elle est activée.
- UDP a eu un problème dans IPv4, correction du code pour analyser correctement le tableau d'octets.
- Nettoyage et refactorisation de certains codes redondants.
- Ajout de quelques petites vérifications si nécessaire pour éviter les erreurs.
v3.1.0
- Système de liste blanche : vous pouvez l'activer pour autoriser uniquement l'utilisation des hachages torrent que vous spécifiez dans la base de données, ou les ajouter via l'API.
- Système de liste noire : vous pouvez l'activer pour interdire l'utilisation des hachages torrent que vous spécifiez dans la base de données, ou les ajouter via l'API.
- Système de clés : vous pouvez l'activer pour autoriser le suivi uniquement lorsqu'un hachage de "clé" activé (identique à un info_hash, 20 octets ou 40 caractères hexadécimaux) est fourni. Les clés avec un délai d'attente de zéro "0" seront permanentes et ne seront pas purgées par le nettoyage.
- WebGUI : l'API dispose d'une interface Web disponible, accessible via https://your.api:8080/webgui/ et donnant la clé API correcte, que vous configurez dans le fichier de configuration.
- Une structure de base de données personnalisable peut être indiquée dans le fichier de configuration.
- Le système est également désormais disponible via Docker Hub à l'adresse https://hub.docker.com/r/power2all/torrust-axum
v3.0.1
- Corrections de bugs
- Prise en charge de SQLite3 ajoutée
- Prise en charge de MySQL ajoutée
- Prise en charge de PostgresSQL ajoutée
v3.0.0
Version initiale de Torrust-Axum.
Crédits
Ce Torrust-Tracker est le fruit d'un effort conjoint de Nautilus Cyberneering GmbH, Dutch Bits et Power2All. Merci également à Naim A. et au plus grand singe pour certaines parties du code Torrust-Tracker. Ce projet (Torrust-Actix) est construit à partir de zéro par Power2All.