3 pontos por GN⁺ 2024-04-17 | 1 comentários | Compartilhar no WhatsApp

BTFS (sistema de arquivos BitTorrent)

Visão geral do BTFS

  • Com o BTFS, é possível montar arquivos .torrent ou magnet links e usá-los como um diretório somente leitura
  • Ao ler arquivos no aplicativo, apenas as partes necessárias são baixadas
  • Ferramentas comuns como ls, cat e cp funcionam normalmente
  • Aplicativos como vlc e mplayer também podem ser usados sem modificações

Exemplo de uso

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

Desmontar e encerrar:

$ fusermount -u mnt

Como 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

Instalação usando Homebrew:

$ brew install btfs

Pacotes de dependência (Linux)

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

Compilando a partir do código-fonte no Debian/Ubuntu mais recente

$ 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 instalar, adicionalmente:

$ make install

Compilando no macOS

Instalando os pacotes de dependência com 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 instalar, adicionalmente:

$ make install

Opinião do GN⁺

  • O BTFS é um projeto interessante que permite navegar e usar arquivos torrent como se fossem um sistema de arquivos virtual
  • A vantagem é poder ser instalado facilmente nos principais sistemas operacionais, mas como é baseado em FUSE, o desempenho pode ser limitado
  • Pela natureza do torrent, não é necessário que todos os arquivos estejam localmente, então pode ser útil em dispositivos com armazenamento limitado
  • Porém, há possibilidade de problemas de direitos autorais, já que o conteúdo pode ter sido compartilhado ilegalmente
  • Como é um programa de código aberto criado e compartilhado por um indivíduo, é preciso cautela em termos de estabilidade e segurança

1 comentários

 
GN⁺ 2024-04-17
Comentários do Hacker News
  • Em grandes organizações, se houver um programa de servidor que atue como construtor de arquivos torrent, tracker e servidor de arquivos simples, será possível armazenar uma quantidade enorme de dados compartilhados
  • No passado, criei para um banco uma distribuição Linux baseada em Ubuntu NetBoot com um conjunto mínimo de pacotes; como não havia servidores nas agências, era possível fazer self-seeding. Com apenas Wake-on-LAN e PXE configurados, dava para criar centenas de cópias em pouco tempo
  • Esta ferramenta precisa ser atualizada para usar os novos recursos do BitTorrent v2. Em especial, a árvore de hashes Merkle permite árvores de hash por arquivo e estrutura de diretórios
  • Seria ótimo ter um BTFS que recuperasse arquivos de mídia "corrompidos". Por exemplo, se durante a conversão de mídia houver arranhões no disco ou opções ruins de codec e partes forem perdidas, seria possível baixar os trechos corrompidos e corrigir isso de forma transparente
  • Este é um cliente perfeito para acessar conteúdo do Internet Archive. Cada item do IA tem automaticamente um torrent com o web seed do próprio IA
  • Fico me perguntando por que isso não é mais usado. Será que não daria para construir uma VM/um SO usando BTFS como overlay? Parece uma direção interessante
  • Ou talvez seja melhor armazenar os dados em um arquivo SQLite com busca de texto completo indexada. Assim, seria possível fazer busca de texto completo sob demanda em torrents