macFUSE (formerly osxfuse or FUSE for OS X) provides foreign filesystem support under macOS.
Like the Linux variant of libfuse, it provides a user-land filesystem driver API, which is easier to develop for.
Command-line tools are provided, and a kernel module which facilitates binding drivers like sshfs, procfs, AccessibilityFS, GrabFS, LoopbackFS, SpotlightFS, and YouTubeFS to the file system.
Homepage
Download
Recent Releases
5.0.006 May 2025 03:15
minor feature:
lt;ul gt;.
lt;li gt;.
lt;p gt;Add experimental support for FSKit on macOS 15.4 and newer releases of macOS lt;/p gt;.
lt;p gt;macFUSE supports two backends for mounting file systems. By default, the legacy VFS kernel API is used to mount volumes. When specifying the mount-time option lt;code gt;-obackend=fskit lt;/code gt;, macFUSE will use FSKit to mount the file system. For more information, see lt;a href="https://github.com/macfuse/macfuse/wiki/FUSE-Backends" gt;FUSE Backends lt;/a gt;. lt;/p gt;.
lt;/li gt;.
lt;li gt;.
lt;p gt;Drop support for macOS 10.9 to 10.14. macFUSE 5.0.0 support macOS 10.15 and later releases of macOS. lt;/p gt;.
lt;/li gt;.
lt;li gt;.
lt;p gt;Make lt;code gt;macFUSE.framework lt;/code gt; swift-friendlier by adding generics and nullability annotations lt;/p gt;.
lt;/li gt;.
lt;li gt;.
lt;p gt;Add new lt;code gt;macFUSE.framework lt;/code gt; delegate method for listing directories. The new delegate method supports returning directory entries including the name and the requested attributes of each entry. This is the first step in implementing support for lt;code gt;FUSE_READDIRPLUS lt;/code gt;. lt;/p gt;.
lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- (nullable NSArray amp;lt;GMDirectoryEntry * amp;gt; *).
ContentsOfDirectoryAtPath:(NSString *)path
IncludingAttributesForKeys:(NSArray amp;lt;NSString * amp;gt; *)keys
Error:(NSError _Nullable _Nonnull)error" gt; lt;pre class="notranslate" gt; lt;code gt;- (nullable NSArray amp;lt;GMDirectoryEntry * amp;gt; *)
ContentsOfDirectoryAtPath:(NSString *)path
IncludingAttributesForKeys:(NSArray amp;lt;NSString * amp;gt; *)keys
Error:(NSError _Nullable _Nonnull)error
lt;/code gt; lt;/pre gt; lt;/div gt;.
lt;/li gt;.
lt;li gt;.
lt;p gt;Update reference file systems for macFUSE 5. For more information, see the lt;a href="https://github.com/macfuse/demo" gt;demo lt;/a gt; repository. lt;/p gt;.
lt;/li gt;.
lt;li gt;
4.10.225 Apr 2025 01:37
minor feature:
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
2.7.220 Oct 2014 16:05
minor feature:
Check for MacFUSE compatibility layer 3.x. Component property lists for
packages. Add support for case-insensitive Objective-C filesystems.
Add support for FUSE fallocate callback. Fix symlink support.
|