Vue normale

Reçu aujourd’hui — 13 novembre 2025

P2P Media Loader - Le retour discret de BitTorrent dans votre navigateur

Par :Korben
13 novembre 2025 à 09:22

BitTorrent c’était le diable dans les années 2000. Y’a eu des procès, des fermetures de trackers, et une guerre totale contre le piratage . Mais ça reste quand même une belle techno, notamment pour certaines plateformes de streaming un peu niche et solutions d’entreprise qui s’en servent discrètement afin d’économiser des millions en frais de CDN.

Car oui, avec le P2P, c’est vous qui payez la bande passante (en partie) ^^.

P2P Media Loader , c’est son nom est donc une lib JavaScript open source qui utilise WebRTC pour faire du streaming vidéo peer-to-peer directement dans votre browser. Vous regardez une vidéo, votre navigateur se connecte à d’autres viewers et vous échangez des segments vidéo entre vous. En gros, c’est comme BitTorrent, mais en version HTML5.

P2P Media Loader est donc la solution parfait pour réduire les coûts de bande passante des plateformes de streaming. Et tout ça de manière totalement transparente !

Techniquement, ça repose donc sur WebRTC et des trackers (comme BitTorrent) qui permettent aux navigateurs de se trouver entre eux ( y’a une démo ici ). Le projet utilise le protocole de signalisation de WebTorrent, ce qui veut dire que vous pouvez utiliser des trackers publics pour débuter, ou installer votre propre tracker si vous voulez gérer des gros volumes.

Et là, ça devient vraiment intéressant niveau scalabilité car avec un petit VPS à 3,50 €/mois et le tracker wt-tracker , vous pouvez gérer jusqu’à 20 000 viewers en simultané. Et si vous passez sur Aquatic (un tracker écrit en Rust), un serveur dédié 8 cœurs à 10-30€/mois peut tenir une charge de 100 000 viewers en simultané. Et si vous êtes vraiment radin (coucou les Auvergnats), Oracle Cloud offre un tier gratuit avec 4 cœurs ARM et 24 Go de RAM qui peut gérer des pics jusqu’à 100k peers sans rien débourser.

Et pour aller au-delà du million de viewers, il faudra passer sur du sharding (découpage en plusieurs trackers) avec différentes stratégies… Soit par contenu, soit par région géographique, soit par hash… Bref, des techniques classiques de distribution de charge, mais appliquées au P2P.

Le truc cool, je trouve c’est que ça fonctionne aussi bien pour du live que pour de la VOD, et même sur les apps mobiles iOS et Android. D’ailleurs, des projets comme PeerTube l’utilisent déjà pour réduire leurs coûts d’hébergement.

Bref, votre browser devient un mini-CDN en tout discrétion et ça permet aux personnes qui montent des infras de streaming, d’économiser de la thune.

Merci à Letsar pour le partage !

Reçu — 30 septembre 2025
Reçu — 27 août 2025

Swaparr : dégager les Torrents bloqués des *arrs (stalled)

Par :Aerya
27 août 2025 à 07:13


Utilisateurs de qBittorrent, combien de fois avons-nous vu un .torrent marqué « stalled » ? Un téléchargement bloqué pour X raison et Sonarr ou Radarr qui attend… attend… encore et toujours…

Les *arrs n’ont pas d’outil de détection des téléchargements bloqués.

Swaparr comble cette lacune, très simplement.


Pour lancer le Docker, on met les instances qu’on souhaite, je teste avec les 2 que j’ai. J’ai mis les IP:port mais on peut mettre une URL sans le backslash de fin

services:
  radarr:
    image: ghcr.io/thijmengthn/swaparr:latest
    container_name: swaparr-radarr
    restart: unless-stopped
    environment:
      - BASEURL=http://192.168.0.163:7878
      - APIKEY=xxx        
      - PLATFORM=radarr
      - MAX_STRIKES=3
      - SCAN_INTERVAL=10m
      - MAX_DOWNLOAD_TIME=
      - IGNORE_ABOVE_SIZE=25GB
      - REMOVE_FROM_CLIENT=true
      - DRY_RUN=false
  sonarr:
    image: ghcr.io/thijmengthn/swaparr:latest
    container_name: swaparr-sonarr
    restart: unless-stopped
    environment:
      - BASEURL=http://192.168.0.163:8989
      - APIKEY=xxx         
      - PLATFORM=sonarr
      - MAX_STRIKES=3
      - SCAN_INTERVAL=10m  
      - MAX_DOWNLOAD_TIME=2h  
      - IGNORE_ABOVE_SIZE=25GB
      - REMOVE_FROM_CLIENT=true
      - DRY_RUN=false

J’ai tout laissé par défaut mais on peut régler les variables

NameDefaultDescription
BASEURLhttp://127.0.0.1:7878The URL of a radarr, sonarr or other starr instance.
APIKEY7f3a8..cbc07The API key of a radarr, sonarr or other starr instance.
PLATFORMradarrIndicates the type of starr platform, either radarr, sonarr, lidarr, readarr or whisparr.
MAX_STRIKES3Maximum number of strikes a download can accumulate before it is removed.
SCAN_INTERVAL10mHow often Swaparr checks for stalled downloads.
MAX_DOWNLOAD_TIME2hMaximum allowed download time before it’s considered stalled.
IGNORE_ABOVE_SIZE25GBFiles larger than this size will be ignored and not monitored.
REMOVE_FROM_CLIENTtrueRemove from both queue and download client (default) OR false only the queue of a starr instance.
DRY_RUNfalseSandbox mode; try Swaparr without it performing destructive actions on your instances.

Swaparr gère les clients de téléchargement BitTorrent liés aux *arrs, toute les 10 minutes avec cette configuration.
Et l’instance *arr pourra donc aller chercher un autre .torrent

aerya@StreamBox:~$ sudo docker logs swaparr-radarr

 ── Swaparr ───── 

╭─╮ Platform: radarr
│ │ Max strikes: 3
│ │ Scan interval: 10m
│ │ Max download time: 2h
│ │ Ignore above size: 25GB
╰─╯ Remove from client: true

╭─╮ Be part of Swaparr's journey ⭐ Star us on GitHub!
╰─╯ Your support strengthens the open-source community.

 ──────────────── 


╭──────────────────────────────────────────────────────────────────────────╮
│                            No downloads found                            │
╰──────────────────────────────────────────────────────────────────────────╯

 ─ Checking again in 10m..


╭──────────────────────────────────────────────────────────────────────────╮
│                            No downloads found                            │
╰──────────────────────────────────────────────────────────────────────────╯

 ─ Checking again in 10m..


╭──────────────────────────────────────────────────────────────────────────╮
│                            No downloads found                            │
╰──────────────────────────────────────────────────────────────────────────╯

 ─ Checking again in 10m..

Loading

❌