BookFUSE is a FUSE-based virtual filesystem for Windows that exposes a calibre ebook library as a read-only filesystem, making it accessible to applications such as Kavita or other ebook readers that expect a directory structure of series and books.
For a Docker implementation, see BookFUSEDocker
- Read-only FUSE filesystem: Presents your calibre library as a virtual drive.
- Series and book mapping: Each calibre series appears as a directory, and each book as a file within its series.
- Automatic metadata parsing: Reads calibre's
metadata.dbto build the virtual filesystem. - Windows support: Built on WinFsp for native Windows filesystem integration.
- The filesystem is implemented in
BookFUSE, which uses WinFsp to create a virtual drive. - The calibre library is parsed by
CalibreLibrary, which loads series and book information from the calibre SQLite database. - A library directory is created for each library located in the calibre installation directory.
- Each subdirectory represents a series, and each file represents a book in that series, with the correct file extension.
- File and directory metadata is provided by
LibraryFileDesc.
- calibre
- .NET 8.0 or later
- WinFsp (must be installed)
- System.Data.SQLite (NuGet package)
-
Run the installation file.
-
During installation, enter the path to your calibre installation. This should be the folder where your library (or libraries) are located.
-
After installation has completed, open
File Explorer. -
Right-click on
This PCand selectMap network drive.... -
Choose a drive letter to mount your library to, and in the folder field, enter
\\BookFUSE\Library.Note: you can enter
\\BookFUSE\<name>, andnamewill be used to label your drive.Note: if your calibre library is large, it may take some time to build the virtual directory.
- Clone this repository.
- Open the solution file
BookFUSE.slnin Visual Studio 2022 or later. - Restore NuGet packages.
- Build the solution.
Run the built executable with the following options:
BookFUSE.exe -p <CalibreLibraryPath> -m <MountPoint>
Options:
-p <CalibreLibraryPath>: Path to your calibre library folder (must containmetadata.db).-m <MountPoint>: Mount point for the virtual filesystem (e.g.,X:or a directory).-d <DebugFlags>: (Optional) Enable debug logging.-D <DebugLogFile>: (Optional) Path to debug log file. -1 logs to the terminal.-u <UNC prefix>: (Optional) UNC prefix for the volume.
Example:
BookFUSE.exe -p "C:\Users\YourName\Calibre Library" -m "X:"
This project is licensed under the MIT License. See LICENSE.txt for details.