3 points par GN⁺ 2024-04-17 | 1 commentaires | Partager sur WhatsApp

BTFS (système de fichiers BitTorrent)

Aperçu de BTFS

  • BTFS permet de monter un fichier .torrent ou un magnet link pour l'utiliser comme répertoire en lecture seule
  • Lorsqu'une application lit un fichier, seules les parties nécessaires sont téléchargées
  • Les outils courants comme ls, cat et cp fonctionnent normalement
  • Des applications comme vlc et mplayer peuvent également être utilisées sans modification

Exemples d'utilisation

$ mkdir mnt
$ btfs video.torrent mnt
$ cd mnt
$ vlc video.mp4

Démontage et arrêt :

$ fusermount -u mnt

Méthode d'installation

Debian/Ubuntu

# apt-get install btfs

Arch Linux

# pacman -S btfs

Gentoo

# emerge -av btfs

Fedora

# dnf install fuse-btfs

Fedora OSTree

$ rpm-ostree install fuse-btfs

OpenSUSE

# zypper install btfs 

macOS

Installation avec Homebrew :

$ brew install btfs

Paquets de dépendances (Linux)

  • fuse (sur Ubuntu 16.04, « fuse »)
  • libtorrent (sur Ubuntu 16.04, « libtorrent-rasterbar8 »)
  • libcurl (sur Ubuntu 16.04, « libcurl3 »)

Compiler depuis les sources sur les versions récentes de Debian/Ubuntu

$ sudo apt-get install autoconf automake libfuse-dev libtorrent-rasterbar-dev libcurl4-openssl-dev g++
$ git clone https://github.com/johang/btfs.git btfs
$ cd btfs
$ autoreconf -i
$ ./configure
$ make

Pour l'installer, en plus :

$ make install

Compiler sur macOS

Installer les paquets de dépendances avec Homebrew :

$ brew install Caskroom/cask/osxfuse libtorrent-rasterbar autoconf automake pkg-config
$ git clone https://github.com/johang/btfs.git btfs
$ cd btfs
$ autoreconf -i
$ ./configure 
$ make

Pour l'installer, en plus :

$ make install

Avis de GN⁺

  • BTFS est un projet intéressant qui permet de parcourir et d'utiliser des fichiers torrent comme un système de fichiers virtuel
  • Son principal avantage est sa facilité d'installation sur les principaux OS, mais ses performances peuvent être limitées car il repose sur FUSE
  • Comme, par nature, tous les fichiers d'un torrent n'ont pas besoin d'être présents en local, cela peut être utile sur des appareils au stockage limité
  • Cependant, le contenu peut souvent relever d'un partage illégal, ce qui peut poser des problèmes de droits d'auteur
  • Comme il s'agit d'un programme open source créé et partagé individuellement, il faut rester prudent sur les aspects de stabilité et de sécurité

1 commentaires

 
GN⁺ 2024-04-17
Commentaires sur Hacker News
  • Dans les grandes organisations, s’il existe un programme serveur jouant le rôle de constructeur de fichiers torrent, de tracker et de simple serveur de fichiers, il est possible de stocker d’énormes quantités de données partagées
  • J’ai autrefois créé pour une banque une distribution Linux minimale basée sur Ubuntu NetBoot, composée d’un ensemble réduit de paquets ; comme il n’y avait pas de serveur dans les agences, l’auto-seeding était possible. Avec seulement Wake-on-LAN et une configuration PXE, on pouvait créer des centaines de répliques en peu de temps
  • Cet outil devrait être mis à niveau pour utiliser les nouvelles fonctionnalités de BitTorrent v2. En particulier, les arbres de hachage Merkle permettent des arbres de hachage par fichier et une structure de répertoires
  • Ce serait bien d’avoir un BTFS capable de réparer des fichiers multimédias « corrompus ». Par exemple, si lors d’une conversion multimédia il y a une rayure sur le disque ou que certaines options de codec sont mauvaises et qu’une partie manque, on pourrait télécharger la portion endommagée pour la corriger de manière transparente
  • C’est un client parfait pour accéder aux contenus de l’Internet Archive. Chaque élément de l’IA dispose d’un torrent avec, automatiquement, le web seed de l’IA
  • Je me demande pourquoi ce n’est pas davantage utilisé. Ne pourrait-on pas construire une machine virtuelle / un OS en utilisant BTFS comme overlay ? Cela semble être une piste intéressante
  • Ou bien il vaudrait mieux stocker les données dans un fichier SQLite indexé pour la recherche en texte intégral. On pourrait alors effectuer des recherches full-text dans les torrents à la demande