Skip to content
A bittorrent filesystem based on FUSE.
C++ Python Shell M4 Makefile
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
man Add option to set data directory (fix #50) Mar 21, 2019
scripts btplay: Change shebang to python3 Aug 27, 2019
src Add -latomic ld flag only if needed May 24, 2020
.gitignore Add btfsstat program Aug 20, 2017
.travis.yml travis: Use latest libboost Aug 4, 2019
LICENSE Initial commit Jul 26, 2015 Add "test" make target Jul 21, 2017 Refresh README Jan 17, 2018 2.21 May 24, 2020

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 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 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 btfs
$ cd btfs
$ autoreconf -i
$ ./configure
$ make

And optionally, if you want to install it:

$ make install
You can’t perform that action at this time.