Aujourd'hui nous allons parler d'Opentracker ! Si vous êtes intéressé d'avoir votre propre tracker de torrents privé et d'échanger des fichiers avec d'autres personnes, ce qui suit pourrait vous intéresser. Non seulement c'est d'une simplicité enfantine à déployer, mais en plus il très facile à utiliser.
Une fois les DNS ajoutés, il ne vous faudra que quelques minutes pour avoir votre propre tracker privé.
Opentracker dispose d'une fonction Mode panique, une fois activée, cela aura pour effet un chiffrement instantané de la base de données. Il vous faudra entrer un mot de passe spécifique pour déverrouiller le tout. Sait-on jamais.
Opentracker ne conserve aucune information sur les utilisateurs, il est d'ailleurs impossible de récupérer un mot de passe. C'est oublié, c'est foutu.
⚡ Caractéristiques
🔐 Confidentialité & Authentification
- Authentification Zero-Knowledge.
- Proof of Work.
- Torrents privés (DHT/PEX désactivés).
- Suivi et application des ratios.
⚡ Performance
- Recherches de pairs en moins d’une milliseconde via Redis.
- PostgreSQL avec recherche plein texte.
- Support des annonces HTTP & WebSocket.
- Optimisé pour une forte concurrence.
🛡️ Sécurité
- Limitation du taux de requêtes distribuée.
- Mise sur liste noire automatique des IP.
- Détection des attaques SQL/XSS.
- IP hachées en SHA-256.
🚨 Urgence
- Mode Panique : chiffrement instantané de la base de données.
- Données protégées par AES-256-GCM.
- Restauration complète avec mot de passe maître.
- Irrécupérable sans le mot de passe.



💾 Installation
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Distribution Linux (Ubuntu, Debian, etc ...).
- Docker installé.
- Accès terminal.
- Connexion internet.
- Un nom de domaine.
Et aussi, super important, ajoutez ces entrées DNS :
| Subdomain | Record Type | Value |
|---|---|---|
tracker.votredomaine.com | A | IP du serveur |
announce.votredomaine.com | A | IP du serveur |
monitoring.votredomaine.com | A | IP du serveur |
- Une pour le tracker, l'Ui d'Opentracker, l'interface Web.
- Une pour announce.
- Une pour le monitoring.
Étapes d'installation
Que va faire le script ?
Installer Docker et ses dépendances
Générer des clés cryptographiques
Configurer les règles du pare-feu
Configurer le protocole TLS/SSL avec Let's Encrypt
Créer un service systemd pour le redémarrage automatique
Configurer PostgreSQL, Redis, Caddy et la supervision
Configurer la supervision Prometheus et Grafana
- Collez ça dans votre terminal :
curl -fsSL https://raw.githubusercontent.com/florianjs/opentracker/main/scripts/install.sh -o install.sh
chmod +x install.sh
sudo ./install.sh- Répondez à ces questions :

- 1 => Entrez le domaine/sous-domaine pour tracker.
- 2 => Entrez le domaine/sous-domaine pour announce.
- 3 => Entrez le domaine/sous-domaine pour monitoring.
- 4 => Entrez une adresse mail pour la génération du certificat SSL.
- 5 => Appuyez sur Entrée pour générer un mot de passe automatiquement ou choisissez un mot de passe.
- 6 => Appuyez sur Entrée pour générer un mot de passe automatiquement ou choisissez un mot de passe.
Laissez travailler, à la fin de l'installation vous verrez Installation Complete!.
Notez bien précieusement ces informations :

- 1 => URL des différents services.
- 2 => Compte administrateur pour monitoring.
- 3 => Compte administrateur pour le Grafana.
- 4 => Commandes utiles.
- 5 => Quand vous êtes certain que tout est bien noté en sécurité, tapez yes pour terminer, validez avec Entrée.
- Rendez-vous sur votre domaine :
https://tracker.votredomaine.com👤 Créer votre compte administrateur
Sur la page du tracker, il faudra commencer par créer votre compte administrateur :

- 1 => Entrez le nom d'utilisateur du compte administrateur.
- 2 =>Entrez le mot de passe, fort, du compte administrateur.
- 3 => Confirmez le mot de passe.
- 4 => Choisissez le mot de passe pour déverrouiller la base de données en cas "d'urgence".
- 5 => Confirmez le mot de passe.
- 6 => Cliquez sur Create Admin Account pour terminer la création du compte. Patientez un peu, après avoir cliqué sur le bouton.
Vous voilà sur votre tableau de bord, vous pourrez bientôt commencer à vous amuser :

🔄 Créer un torrent

Pour créer le torrent d'un fichier ou un dossier à partager, je vais utiliser qBitorrent, mais pas en version docker, il y a presque 100/100 de chance qu'il n'y aura pas l'option pour le faire. Par contre qui, le fait. Mais vous serez limité à vos indexers.
Je vais utiliser qBitorrent, installé sur mon PC.
Allez dans : Outils => Créateur de torrent. Vous pouvez également faire ctrl + N.
Cette petite fenêtre s'ouvre :

- 1 => Sélectionner ce que vous souhaitez partager.
- 2 => Cochez cette case.
- 3 => Cochez cette case.
- 4 => Indiquez l'URL sous cette forme : https://announce.votredomaine.com/announce?passkey=VOTRE_PASSE_KEY.
- 5 => Clique sur Créer le torrent. Vous devrez indiquer où l'enregistrer. Quand c'est terminé, vous aurez ce message :

🗒️ Gérer les catégories de torrents
Histoire de classer les torrents, je vais créer une catégorie parent, root :

- 1 => Partie Admin.
- 2 => Partie Catégories.
- 3 => Choisissez ROOT CATEGORY, la catégorie parent donc.
- 4 => Nommez votre ROOT CATEGORY.
- 5 => Cliquez sur + ADD pour ajouter la catégorie parent.
Créez maintenant une catégorie, dans mon cas, DISTROS :

- 1 => Je choisis la catégorie TORRENTS.
- 2 => Créons la partie DISTROS.
- 3 => Cliquez sur + ADD pour terminer.
Tout est en place !

🗒️ Ajouter une catégorie dans le forum
Vous pouvez centraliser vos torrents et faire une présentation de ceux-ci afin de les partager, dans la partie Forum.
Rendez-vous dans la partie Forum :

- 1 => Cliquez sur + NEW CATEGORY.
Remplissez les champs :

- 1 => Nommez votre catégorie.
- 2 => Ajoutez une description, éventuellement.
- 3 => Ordre de la catégorie.
- 4 => Cliquez sur CREATE pour terminer.
Votre catégorie est bien présente :

- 1 => Cliquez sur le nom de la catégorie pour entrer dedans.
Vous pouvez créer votre premier post, mais on y reviendra :

⤵️ Importer un torrent à partager sur Opentracker
Rendez-vous sur votre instance Opentracker :

- 1 => Partie Torrents.
- 2 => Cliquez sur + Upload.
Vous arrivez ici, en bonne santé en plus :

- 1 => Ajoutez le torrent que vous avez créé.
- 2 => Choisissez une catégorie.
- 3 => Ajoutez une description, en Markdown.
- 4 => Cliquez sur INITIALIZE UPLOAD.
C'est terminé cliquez sur Close :

Le torrent est déjà en partage et on voit du seed, c'est moi/toi, par l'instance qBitorrent avec laquelle a été créé le torrent :

Si vous allez dans la partie Torrents et que vous cliquez sur le torrent présent, vous avez ici la description et le lien pour télécharger le torrent :

Sympa non ?
👥 Ouvrir les inscriptions à votre instance
Rendez-vous ici :

- 1 => Rendez-vous partie Admin.
- 2 => Settings.
- 3 => Cochez Open Registration.
- 4 => Vous pouvez régler le ratio minimum.
- 5 => Vous pouvez régler avec combien de GB commence l'utilisateur.
- 6 => Cliquez sur SAVE CONFIGURATION pour enregistrer.
Il est maintenant possible de s'inscrire à votre instance.
👤 Création d'un compte utilisateur
Si les inscriptions sont ouvertes, vos utilisateurs pourront s'enregistrer :

- 1 => Cliquez sur Create one.
Remplissez les informations habituelles :

- 1 => Choisir le nom d'utilisateur.
- 2 => Choisir le mot de passe, fort, de l'utilisateur.
- 3 => Confirmez le mot de passe.
- 4 => Cliquez sur Create Account pour terminer.
L'utilisateur sera redirigé automatiquement :

⚡ Donner un rôle à un utilisateur
Dans la partie Users, entrez le nom de l'utilisateur à rechercher, cliquez sur Search :

Cochez de la manière que vous voulez votre utilisateur.
✅ Valider un torrent
Pour un utilisateur basique, ce qu'il propose comme torrent devra passer par une étape de validation, que vous pouvez retrouver dans la partie Mod => Pending Torrents :

- 1 => APPROVE pour approuver.
- 2 => REJECT pour rejeter.
Du côté de l'utilisateur, après avoir envoyé le torrent il aura ce message :

🚦 Ajouter un rôle
Imaginons que je veuille un rôle où l'utilisateur soit de confiance et ne doive plus se faire valider ses torrents, je peux créer un rôle pour ça :

- 1 => Nommez le rôle.
- 2 => Choisissez une couleur.
- 3 => Choisissez si oui oui non ils peuvent échapper à la modération.
- 4 => Cliquez + CREATE pour créer le rôle.
Le rôle est bien créé :

🖍️ Personnaliser votre instance
Opentracker permet une personnalisation de l'instance.
Site Announcement
Sert à faire passer un message en haut de la page :

Dans la partie Settings :

- 1 => Cochez l'option pour l'activer.
- 2 => Indiquez le message à faire passer.
- 3 => Choisissez le type de message. Info, Warning ou Error.
- 4 => Cliquez sur SAVE ANNOUNCEMENT.
Site Branding
Sert à personnaliser l'image de marque du site. Toujours dans la partie Settings :

- 1 => Nommez l'instance.
- 2 => Vous pouvez ajouter un sous-titre.
- 3 => Choisissez une icône ou image. Pour le moment seule la partie Icon fonctionne.
- 4 => Choisissez un logo.
- 5 => Cliquez sur SAVE BRANDING pour terminer.
Et voilà :

Homepage Content
Sert à modifier le bas de page.

🚨 Verrouillage d'urgence
Chiffrez immédiatement toutes les données sensibles. Cette action rend les données illisibles sans le mot de passe de secours défini lors de l'inscription.
Dans la partie Settings, tout en bas, cliquez sur PANIC - ENCRYPT DATABASE :

🆘 Commandes utiles
Voici quelques commandes qu'il faut garder sous le coude.
Il faut être dans ce dossier pour que les commandes fonctionnent :
/opt/opentrackerDémarrer les services
docker compose downStopper les services
docker compose down Voir les logs
docker compose logs -f Arrêter et supprimer les volumes (⚠️)
docker compose down -v Mettre à jour
cd /opt/opentracker
git checkout main
git pull origin main
docker compose -f docker-compose.prod.yml down
docker compose -f docker-compose.prod.yml up -d --buildPour la liste de toutes les commandes :