Tracker torrent utilisé par Peertube


#1

Question au devs!

J’essaie de mieux comprendre le fonctionnement de Peertube pour pouvoir contribuer au code et aux docs :slight_smile:

Je n’ai vue d’information nul part au sujet de quel tracker torrent Peertube utilise ? Est-ce un tracker fait maison ? XBTTracker ? Autre ?

SI c’est fait maison, puis-je avoir quelques infos sur comment est-il codé, où se trouve il dans le code ? :slight_smile:

Je n’ai pas vue de table psql nommé tracker en prefix donc pas évident de comprendre le fonctionnement de tout ça ^^

edit: Je précise que j’ai déjà été sur les wiki github ici et mais les caractéristiques du tracker ne sont pas spécifiés.


#2

Hello @poka!

Toute aide est la bienvenue! Concernant les docs on essaie de ne pas trop charger les docs du dépôt en lui-même, mais surtout de structurer l’information sur https://framagit.org/framasoft/peertube/documentation (mis en ligne sur http://docs.joinpeertube.org/ ). À terme ARCHITECTURE (qui n’est pas du tout à jour) sera mis là.

Pas de tracker maison fait de A à Z, on reprend https://github.com/webtorrent/bittorrent-tracker du projet webtorrent et on fait un wrapper autour: https://github.com/Chocobozzz/PeerTube/blob/develop/server/controllers/tracker.ts | le but du wrapper est (pour l’instant ce sont les seules modificatons que l’on y a apporté) multiple:


#3

Ok c’est donc un tracker en node.js
Vous avez pu tester la scalabilité ?

Pour info j’ai eu l’occasion de mettre en prod un très gros tracker torrent avec XBTTracker: https://github.com/OlafvdSpek/xbt

Fait en C++, on est en relation avec Olaf le créateur pour des besoins spécifiques, et je confirme qu’il absorbe de très grosses charges.
Par contre sa base de donnée est en mysql et compliquer de migrer vers du postegres…


#4

On a pas eu l’occasion de tester la scalabilité du tracker, mais vu qu’il stocke tout en mémoire et non en base de donnée, je doute qu’il tienne les mêmes charges…

De notre point de vue on a toujours des bottlenecks plus importants côté bande passante vidéo, mais ça se discute.