Extend native file handling in OS X (was OSXFUSE)

FUSE for macOS

FUSE for macOS

  -  6.2 MB  -  Open Source
FUSE for macOS (was OSXFUSE) allows you to extend macOS's native file handling capabilities via third-party file systems. It is a successor to MacFUSE, which has been used as a software building block by dozens of products, but is no longer being maintained.

FUSE for Mac Features

As a user, installing the FUSE for macOS software package will let you use any third-party FUSE file system. Legacy MacFUSE file systems are supported through the optional MacFUSE compatibility layer.

As a developer, you can use the FUSE SDK to write numerous types of new file systems as regular user space programs. The content of these file systems can come from anywhere: from the local disk, from across the network, from memory, or any other combination of sources.

Writing a file system using FUSE is orders of magnitude easier and quicker than the traditional approach of writing in-kernel file systems.

Since FUSE file systems are regular applications (as opposed to kernel extensions), you have just as much flexibility and choice in programming tools, debuggers, and libraries as you have if you were developing standard macOS applications.

How It Works

In more technical terms, FUSE implements a mechanism that makes it possible to implement a fully functional file system in a user-space program on macOS.

It provides multiple APIs, one of which is a superset of the FUSE API (file system in user space) that originated on Linux. Therefore, many existing FUSE file systems become readily usable on Mac.

The FUSE for Mac OS software consists of a kernel extension and various user space libraries and tools. It comes with C-based and Objective-C-based SDKs. If you prefer another language (say, Python or Java), you should be able to create file systems in those languages after you install the relevant language bindings yourself.

The filesystems repository contains source code for several exciting and useful file systems for you to browse, compile, and build upon, such as sshfs, procfs, AccessibilityFS, GrabFS, LoopbackFS, SpotlightFS, and YouTubeFS.

How to Use

Install the .pkg file by following the installer prompts

Reboot your Mac if prompted after installation

Mount third-party file systems via Terminal or compatible apps

Use FUSE API or a compatible tool to interact with file systems

Manage or uninstall from System Preferences > FUSE

System Requirements
  • macOS 10.13 High Sierra or later
  • Intel or Apple Silicon (Rosetta may be required)
  • Administrator privileges for installation
  • Command Line Tools (for development use)
  • Approximately 50 MB of free disk space
PROS
  • Allows third-party file system support
  • Integrates well with macOS architecture
  • Works with SSHFS and NTFS tools
  • Lightweight and low resource usage
  • Open-source and customizable API
CONS
  • Requires developer-level configuration
  • Not all file systems are fully supported
  • Can pose security risks if misused
  • Rosetta needed for Apple Silicon use
  • Updates may lag behind macOS releases


Why is this app published on FileHorse? (More info)
  • FUSE 4.10.2 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    FUSE 4.10.2 Screenshot 1
  • FUSE 4.10.2 Screenshot 2

What's new in this version:

- Invalidate a vnode's identity in case the corresponding file is removed
- When performing a remove operation, the file might not actually be removed by the user space code. libfuse renames open files, hides them and defers removing them until all open file handles have been closed (unless hard_remove is enabled). This means we might come across the vnode again, e.g. while performing a readdir(3) operation. We need to invalidate the vnode's current identity to make sure Finder does not display any outdated information.
- Build script optimizations