3 คะแนน โดย GN⁺ 2024-04-17 | 1 ความคิดเห็น | แชร์ทาง WhatsApp

BTFS (ระบบไฟล์ BitTorrent)

ภาพรวมของ BTFS

  • ใช้ BTFS เพื่อเมานต์ไฟล์ .torrent หรือ magnet link และใช้งานเป็นไดเรกทอรีแบบอ่านอย่างเดียวได้
  • เมื่อแอปพลิเคชันอ่านไฟล์ จะดาวน์โหลดเฉพาะส่วนที่จำเป็นเท่านั้น
  • เครื่องมือทั่วไปอย่าง ls, cat, cp สามารถทำงานได้ตามปกติ
  • แอปพลิเคชันอย่าง vlc, mplayer ก็ใช้งานได้โดยไม่ต้องแก้ไข

ตัวอย่างการใช้งาน

$ 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 เป็นโปรเจกต์ที่น่าสนใจซึ่งช่วยให้สามารถสำรวจและใช้งานไฟล์ทอร์เรนต์ได้เสมือนเป็นระบบไฟล์เสมือน
  • ข้อดีคือสามารถติดตั้งได้ง่ายบนระบบปฏิบัติการหลักหลายตัว แต่เนื่องจากทำงานบน FUSE ประสิทธิภาพอาจมีข้อจำกัด
  • ด้วยธรรมชาติของทอร์เรนต์ที่ไม่จำเป็นต้องมีไฟล์ทั้งหมดอยู่ในเครื่อง จึงน่าจะมีประโยชน์กับอุปกรณ์ที่มีพื้นที่เก็บข้อมูลจำกัด
  • อย่างไรก็ตาม เนื้อหาอาจเป็นการแชร์อย่างผิดกฎหมายได้ จึงอาจมีประเด็นเรื่องลิขสิทธิ์
  • เป็นโปรแกรมโอเพนซอร์สที่พัฒนาและเผยแพร่โดยบุคคลทั่วไป จึงควรระมัดระวังในด้านความเสถียรและความปลอดภัย

1 ความคิดเห็น

 
GN⁺ 2024-04-17
ความคิดเห็นบน Hacker News
  • หากมีโปรแกรมเซิร์ฟเวอร์ที่ทำหน้าที่เป็นตัวสร้างไฟล์ทอร์เรนต์ ตัวติดตาม และไฟล์เซิร์ฟเวอร์แบบง่ายสำหรับองค์กรขนาดใหญ่ ก็จะสามารถเก็บข้อมูลสาธารณะปริมาณมหาศาลได้
  • ก่อนหน้านี้เคยสร้างลินุกซ์ดิสทริบิวชันสำหรับธนาคารแห่งหนึ่งโดยอิงจาก Ubuntu NetBoot และมีเพียงแพ็กเกจขั้นต่ำ โดยสาขาไม่มีเซิร์ฟเวอร์ จึงสามารถทำ self-seeding ได้ หากตั้งค่า Wake-on-LAN และ PXE ไว้ ก็สามารถสร้างสำเนาได้หลายร้อยชุดในเวลาอันสั้น
  • เครื่องมือนี้ควรถูกอัปเกรดให้ใช้ความสามารถใหม่ของ BitTorrent v2 โดยเฉพาะ Merkle hash tree ที่ทำให้มี hash tree ระดับไฟล์และโครงสร้างไดเรกทอรีได้
  • น่าจะดีถ้ามี BTFS ที่ช่วยกู้ไฟล์มีเดียที่ "เสียหาย" ได้ เช่น หากตอนแปลงมีเดียมีรอยขีดข่วนบนดิสก์ หรือมีบางส่วนหายไปเพราะตัวเลือก codec ไม่ดี ก็สามารถดาวน์โหลดเฉพาะส่วนที่เสียหายมาแก้ให้ใช้งานได้อย่างราบรื่น
  • นี่คือไคลเอนต์ที่เหมาะอย่างยิ่งสำหรับการเข้าถึงเนื้อหาของ Internet Archive เพราะแต่ละรายการใน IA มีทอร์เรนต์ที่มี web seed ของ IA อยู่โดยอัตโนมัติ
  • สงสัยว่าทำไมสิ่งนี้ถึงไม่ถูกใช้งานให้แพร่หลายกว่านี้ หรือจะใช้ BTFS เป็นโอเวอร์เลย์เพื่อสร้าง virtual machine/OS ได้ไหม? ดูเป็นแนวทางที่น่าสนใจ
  • หรืออาจจะดีกว่าถ้าเก็บข้อมูลไว้ในไฟล์ SQLite ที่จัดทำดัชนีการค้นหาแบบ full-text ไว้แล้ว แบบนั้นก็จะค้นหา full-text บนทอร์เรนต์แบบ on-demand ได้