Skip to content
/ btfs Public

A bittorrent filesystem based on FUSE.

License

Notifications You must be signed in to change notification settings

johang/btfs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BTFS (bittorrent filesystem)

What is this?

With BTFS, you can mount any .torrent file or magnet link and then use it as any read-only directory in your file tree. The contents of the files will be downloaded on-demand as they are read by applications. Tools like ls, cat and cp works as expected. Applications like vlc and mplayer can also work without changes.

Example usage

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

To unmount and shutdown:

$ fusermount -u mnt

Installing on Debian/Ubuntu

# apt-get install btfs

Installing on Arch Linux

# pacman -S btfs

Installing on Gentoo

# emerge -av btfs

Installing on Fedora

# dnf install fuse-btfs

Installing on Fedora OSTree

$ rpm-ostree install fuse-btfs

OpenSUSE

# zypper install btfs

Installing on macOS

Use brew to install on macOS.

$ brew install btfs

Dependencies (on Linux)

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

Building from git on a recent 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

And optionally, if you want to install it:

$ make install

Building on macOS

Use brew to get the dependencies.

$ 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

And optionally, if you want to install it:

$ make install