Using FUSE on Apple-Silicon Macs have been a big hassle. This motivated me to create a new solution that doesn't depend on FUSE, inspired by how Google Drive Desktop used to implement their mount method. This new method automatically replaces the mount command when cmount is not enabled during compile time.
The main advantages of this method are:
Does not require installation of any third-party software or kernel extension.
Pure Go solution without dependency on cgo.
To try it out, check out the master branch and run a mount command:
go run rclone.go mount remote: /path/to/mountpoint
Good questions. I tried to document some of these in the inline documentation that goes on the website. But I guess it is still not discoverable.
serve nfs exists as a separate command, it is documented, and you can use it however you like. mount is pretty much a convenience wrapper around serve nfs.
The way I integrated it, it replaces mount command when cmount is not enabled.
I haven't tested FUSE-T myself, so I cannot comment about reliability or performance. I see two notable differences.
a. FUSE-T is NFSv4 while go-nfs is only NFSv3. I am not sure how much a difference this makes
b. serve nfs is pure go with no extra dependencies. FUSE-T is still dependent on cgo and installed dylibs.