-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Does not work with macFUSE 4.x #524
Comments
Looks like go-fuse wants to open /dev/osxfuse. Can you check what
says on your system? |
Hi, On my system: crw-rw-rw- 1 root operator 37, 0 Nov 28 08:55 /dev/osxfuse0 |
That should be plenty ;) But: hanwen/go-fuse#379 Looks like go-fuse (the FUSE library that gocryptfs uses) does not support macfuse 4.0.0 at the moment ( hanwen/go-fuse#379 ). Does osxfuse 3.x still work on the latest macos? |
Yes 3.x still works on Big Sur.. I've been using it since Big Sur was released with no problem. I did try to upgrade to macFUSE 4.0 and that's when it's broken. Let's hope go-fuse gets support for macfuse 4! Thanks! |
I will leave this ticket open to warn users of macfuse 4.x, progress will be tracked at hanwen/go-fuse#379 |
Given that macOS has deprecated kernel extensions (see here), and macfuse 4 is closed software lacking documentation it might be worth investing time how to use macOS 11 File Providers this seems to be their userspace fuse-style like offering that could be used for gocryptfs (the "your server" part being the local encrypted file storage). |
@rfjakob it's seems the macFuse 4 support for go-fuse is on the way 👍 that's good news thank you to everyone! My only concern now is Homebrew has flagged Gocryptfs as deprecated, so effectively the formula will be removed and it will be no longer possible to install it via Homebrew. Just wondering if you have any plans to provide binaries for macOS in the future, if not, is it complicated to compile? Thanks! |
@llucps Creating an official or personal Homebrew tap will be an alternative. I did that for If the code is ready, then compiling is not really complicated. With cryfs for example, the code needed a little bit patching, because of some renaming in osxfuse/macfuse. |
@rfjakob macfuse 4 is now supported in go-fuse (hanwen/go-fuse@09a3c38). Compiled it on my M1 mac - sadly i'm unable to run the test-suite (dependency errors with x64 binaries), but manual testing (init and mount) worked. |
Also getting some complaints with the test after compiling go-fuse: ❯ ./all.bash
go: downloading github.com/hanwen/go-fuse v1.0.0
go test: -i flag is deprecated
go: downloading golang.org/x/sys v0.0.0-20180830151530-49385e6e1522
go test: -i flag is deprecated
go test github.com/hanwen/go-fuse/fuse
fork/exec /var/folders/2v/gh8jsshx2fz2cr8mny4qfm480000gn/T/go-build1637109818/b001/fuse.test: exec format error
FAIL github.com/hanwen/go-fuse/fuse 0.001s
FAIL but my manual test worked: go run examples/hello/main.go hello /tmp/Test How would I go about linking this to |
Figured out how to link For posterity, after (1) cloning diff --git a/go.mod b/go.mod
index 05a019b..aac2677 100644
--- a/go.mod
+++ b/go.mod
@@ -17,3 +17,5 @@ require (
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e // indirect
golang.org/x/sys v0.0.0-20200501145240-bc7a7d42d5c3
)
+
+replace github.com/hanwen/go-fuse/v2 v2.0.4-0.20201104153454-be8e5f4a85fd => "/Users/ijoseph/Code/Clones/go-fuse/"
\ No newline at end of file
I'm not sure whether I had to fool mkdir vendor/github.com/hanwen/go-fuse but I did anyway. Then, looks good! file ./gocryptfs
gocryptfs: Mach-O 64-bit executable arm64 |
So next steps is an author of |
go.mod can reference git commits without tags, so I updated to latest go-fuse master. Thanks for testing! |
Ah, pseudo-versions — TIL. Neat. |
Hi
Had rsync problems with gocryptfs 1.8.0 and macfuse 3.11.2 after upgrading to Mac OS Big Sur. read errors when running....
/usr/bin/rsync -avH -e "ssh" --delete --delete-excluded --exclude=._.DS_Store --exclude=.DS_Store /Users/sjoholmp/Volumes/gocryptfs-unencrypted sjoholmp@FQDN_HOST:/data/BACKUPS/
All worked before MacOS Big Sur though. Don't know why I upgraded so fast. Stupid me!
So I tried to update to macFUSE 4.0.2. My pcloud client that uses fuse happily uses 4.0.2, but not gocrypftfs...
peo-mac:bin sjoholmp$ gocryptfs -passfile /Users/sjoholmp/etc/gocryptfs_mount_password /Users/sjoholmp/Library/Mobile\ Documents/com
appleCloudDocs/gocryptfs-encrypted /Users/sjoholmp/Volumes/gocryptfs-unencryptedpassfile: reading from file "/Users/sjoholmp/etc/gocryptfs_mount_password"
Decrypting master key
fuse.NewServer failed: fork/exec /Library/Filesystems/osxfusefs.fs/Support/load_osxfusefs: no such file or directory
Maybe you should run: /Library/Filesystems/osxfuse.fs/Contents/Resources/load_osxfuse
peo-mac:bin sjoholmp$
Module seems to have been renamed....
peo-mac:bin sjoholmp$ ls -la /Library/Filesystems/
total 0
drwxr-xr-x 4 root wheel 128 Nov 17 10:26 .
drwxr-xr-x 71 root wheel 2272 Nov 16 21:19 ..
drwxr-xr-x 2 root wheel 64 Jan 1 2020 NetFSPlugins
drwxr-xr-x 3 root wheel 96 Nov 8 18:12 macfuse.fs
peo-mac:bin sjoholmp$
I can manually load by running "/Library/Filesystems/macfuse.fs/Contents/Resources/load_macfuse", but that still does not work when mounting gocryptfs.
But I probably miss something obvious :)
The text was updated successfully, but these errors were encountered: