3 ポイント 投稿者 GN⁺ 2024-04-17 | 1件のコメント | WhatsAppで共有

BTFS (BitTorrentファイルシステム)

BTFS の概要

  • BTFS を使うと .torrent ファイルや magnet link をマウントして、読み取り専用ディレクトリとして利用可能
  • アプリケーションがファイルを読む際、必要な部分だけがダウンロードされる
  • lscatcp などの一般的なツールが正常に動作する
  • vlcmplayer などのアプリケーションも修正なしで利用可能

使用例

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

アンマウントして終了:

$ fusermount -u mnt

インストール方法

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

Homebrew を使ったインストール:

$ brew install btfs

依存パッケージ (Linux)

  • fuse (Ubuntu 16.04 では "fuse")
  • libtorrent (Ubuntu 16.04 では "libtorrent-rasterbar8")
  • libcurl (Ubuntu 16.04 では "libcurl3")

最新の 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

インストールするには追加で:

$ make install

macOS でビルドする

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

インストールするには追加で:

$ make install

GN⁺ の意見

  • BTFS は、torrent ファイルを仮想ファイルシステムのように参照して利用できるようにする興味深いプロジェクト
  • 主要な OS で簡単にインストールできるのは利点だが、FUSE ベースのため性能に制約がある可能性がある
  • torrent の特性上、すべてのファイルがローカルに存在していなくてもよいため、ストレージが限られたデバイスで有用そう
  • ただし、コンテンツが違法共有されたものである可能性が高く、著作権の問題がありうる
  • 個人が制作・共有しているオープンソースプログラムのため、安定性やセキュリティの面で注意が必要

1件のコメント

 
GN⁺ 2024-04-17
Hacker Newsのコメント
  • 大規模組織で、トレントファイルのビルダー、トラッカー、単純なファイルサーバーの役割を果たすサーバープログラムがあれば、膨大な量の共有データを保存できる
  • 以前、ある銀行向けに Ubuntu NetBoot ベースの最小パッケージ構成の Linux ディストリビューションを作ったことがあるが、支店にはサーバーがなかったため、自己シーディングが可能だった。Wake-on-LAN と PXE の設定さえあれば、短時間で数百の複製を作成できた
  • このツールは BitTorrent v2 の新機能を使うようにアップグレードされるべきだ。特にマークルハッシュツリーによって、ファイルごとのハッシュツリーとディレクトリ構造が可能になる
  • 「破損した」メディアファイルを修復してくれる BTFS があればよいのにと思う。たとえばメディア変換時にディスクの傷やコーデック設定の不備で一部が欠けた場合、破損部分をダウンロードしてシームレスに修正できる
  • これは Internet Archive のコンテンツにアクセスするのに最適なクライアントだ。各 IA 項目には、IA の Web シードが自動的に付いたトレントがある
  • これがなぜもっと広く使われていないのか不思議だ。BTFS をオーバーレイとして使って仮想マシンや OS を構築できないだろうか? 興味深い方向性に見える
  • あるいは、全文検索がインデックスされた SQLite ファイルとしてデータを保存するほうがよいかもしれない。そうすれば、オンデマンドでトレントを全文検索できる