https://github.com/macos-fuse-t/fuse-t Skip to content Toggle navigation Sign in * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} macos-fuse-t / fuse-t Public * Notifications * Fork 1 * Star 542 License View license 542 stars 1 fork Activity Star Notifications * Code * Issues 13 * Pull requests 0 * Actions * Projects 0 * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Projects * Wiki * Security * Insights macos-fuse-t/fuse-t This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 34 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/m] Use Git or checkout with SVN using the web URL. [gh repo clone macos-] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @macos-fuse-t macos-fuse-t Update README.md ... 2 869d82a Dec 13, 2023 Update README.md 869d82a 2 Git stats * 47 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time Attributions.txt Update Attributions.txt June 20, 2023 09:59 License.txt typo fix September 6, 2022 10:08 README.md Update README.md December 13, 2023 14:50 View code Abstract The main features of FUSE-T How FUSE-T works Other details Installing from brew README.md Abstract FUSE-T is a kext-less implementation of FUSE for macOS that uses NFS v4 local server instead of a kernel extension. The main motivation is to replace 'macfuse' project (https:// osxfuse.github.io/) that implements its own kext to make fuse work. With each version of macOS it's getting harder and harder to load kernel extensions. Apple strongly discourages it thus making software distributions that use 'macfuse' difficult to install. Additionally, the 'macfuse' kext is unstable, may cause frequent system crashes and kernel lock-ups. Given those limitations many software publishers are unable to use 'macfuse' project anymore. FUSE-T doesn't make use of kernel extension, it implements its own userspace server that converts between FUSE protocol and NFS and let macOS mount NFS volume instead of a kernel filesystem. The main features of FUSE-T * Drop-in replacement for 'macfuse' (https://osxfuse.github.io/). API headers in libfuse are unchanged so there's no need to change anything in filesystem implementation. The APIs are compatible with 'macfuse' but differ from the Linux version of libfuse and this is because the 'macfuse' project was not updated in sync with the Linux version * Kext-less, no kernel extensions needed * NFSv4 protocol to better support macOS features such as extended attributes, file locks and others * Stable, easy to mount and unmount volumes with macOS built-in tools, no need for proprietary fusermount * Performance, FUSE-T offers much better performance and this is due to excellent macOS client side NFSv4 implementation How FUSE-T works When a filesystem issues a mount API call, libfuse launches a FUSE-T NFS server that exposes a local TCP port to the macOS mount proccess and another communication channel to libfuse. After that a macOS mount_nfs command is executed and NFS rpcs are getting called on the server. The server converts NFS rpc calls into FUSE requests that emulate original kernel-libfuse protocol. Those requests are executed in libfuse and corresponding FUSE filesystem, then the result is converted back to the macOS NFS client. After the filesystem process dies the NFS server terminates as well and it also unmounts the NFS folder mounted previously. Other details See wiki for more information. Download the latest version of fuse-t: https://github.com/macos-fuse-t/fuse-t/releases/download/1.0.33/ fuse-t-macos-installer-1.0.33.pkg if you have any questions or comments, contact me at alex@fuse-t.org Installing from brew brew install macos-fuse-t/homebrew-cask/fuse-t About No description, website, or topics provided. Resources Readme License View license Activity Stars 542 stars Watchers 19 watching Forks 1 fork Report repository Releases 33 1.0.33 Release Latest Dec 12, 2023 + 32 releases Packages 0 No packages published Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact * Manage cookies * Do not share my personal information You can't perform that action at this time.