3 puntos por GN⁺ 2024-04-17 | 1 comentarios | Compartir por WhatsApp

BTFS (sistema de archivos de BitTorrent)

Descripción general de BTFS

  • Con BTFS, puedes montar archivos .torrent o magnet link y usarlos como un directorio de solo lectura
  • Cuando una aplicación lee un archivo, solo se descargan las partes necesarias
  • Herramientas comunes como ls, cat y cp funcionan normalmente
  • Aplicaciones como vlc y mplayer también pueden usarse sin modificaciones

Ejemplo de uso

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

Desmontar y salir:

$ fusermount -u mnt

Cómo instalar

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

Instalación usando Homebrew:

$ brew install btfs

Paquetes de dependencia (Linux)

  • fuse (en Ubuntu 16.04, "fuse")
  • libtorrent (en Ubuntu 16.04, "libtorrent-rasterbar8")
  • libcurl (en Ubuntu 16.04, "libcurl3")

Compilar desde el código fuente en Debian/Ubuntu recientes

$ 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

Para instalarlo, además:

$ make install

Compilar en macOS

Instalar los paquetes de dependencia con 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

Para instalarlo, además:

$ make install

Opinión de GN⁺

  • BTFS es un proyecto interesante que permite explorar y usar archivos torrent como si fueran un sistema de archivos virtual
  • Una ventaja es que se puede instalar fácilmente en los principales sistemas operativos, aunque al estar basado en FUSE el rendimiento puede ser limitado
  • Como por la naturaleza de los torrents no es necesario que todos los archivos estén completos en local, parece útil para dispositivos con almacenamiento limitado
  • Sin embargo, existe la posibilidad de que el contenido se comparta de forma ilegal, por lo que puede haber problemas de derechos de autor
  • Como es un programa de código abierto creado y compartido por una persona, conviene tener precaución en términos de estabilidad y seguridad

1 comentarios

 
GN⁺ 2024-04-17
Comentarios de Hacker News
  • En organizaciones grandes, si hubiera un programa de servidor que hiciera de constructor de archivos torrent, tracker y servidor de archivos simple, se podrían almacenar enormes cantidades de datos públicos compartidos
  • Hace tiempo hice para un banco una distribución de Linux basada en Ubuntu NetBoot con un conjunto mínimo de paquetes; como no había servidores en las sucursales, era posible el auto-seeding. Con solo tener configurados Wake-on-LAN y PXE, se podían crear cientos de réplicas en poco tiempo
  • Esta herramienta debería actualizarse para usar las nuevas funciones de BitTorrent v2. En particular, los árboles hash de Merkle permiten árboles hash por archivo y estructura de directorios
  • Estaría bien que existiera un BTFS que recupere archivos multimedia "dañados". Por ejemplo, si durante la conversión de medios hay rayones en el disco o faltan partes por opciones deficientes del códec, se podrían descargar las partes dañadas para corregirlo de forma fluida
  • Este es un cliente perfecto para acceder al contenido de Internet Archive. Cada elemento de IA tiene un torrent con web seed de IA de forma automática
  • Me pregunto por qué esto no se usa más. ¿No se podría construir una máquina virtual o un SO usando BTFS como overlay? Parece una dirección interesante
  • O tal vez sea mejor almacenar los datos en archivos SQLite con búsqueda de texto completo indexada. Entonces se podría hacer búsqueda de texto completo en torrents bajo demanda