Skip to content
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

FUSE on Windows via dokany okay? #2766

Closed
MasterJames opened this issue May 29, 2016 · 10 comments
Closed

FUSE on Windows via dokany okay? #2766

MasterJames opened this issue May 29, 2016 · 10 comments
Labels
kind/support A question or request for support need/analysis Needs further analysis before proceeding need/community-input Needs input from the wider community topic/windows Windows specific

Comments

@MasterJames
Copy link

I wondered if I can use the new 1.0.0-RC3 from
https://github.com/dokan-dev/dokany/releases
to get FUSE working safely with the GO version on Windows?

@Kubuxu
Copy link
Member

Kubuxu commented May 29, 2016

This would be great (I had no idea that something like that existed), it would be best if we done it after separation of FUSE into separate binary.

@djdv
Copy link
Contributor

djdv commented May 30, 2016

@alexpmorris made a a tool targeting Dokan v0.7.4 to mount IPFS but it's not compatible with later versions
https://github.com/alexpmorris/dipfs

Perhaps it could be updated for compatibility with v1?

@MasterJames
Copy link
Author

Wow that's good to see. It's in Pascal or Delphi 7 spacifically. It's actually pretty complex code wise. I hope he can sort it out and determine and then help clarify what's the most current option to connect the dots of the most current versions etc.
I'm still a bit in the dark with all this, ipfs stuff is new to me and I'm just trying to run it without spinning up Ubuntu VMs etc. Is it incomplete because it says read only? (Is there a road map or existing ability for writing to the FS with reactivity) Or is that not an issue. Is it a bit of a hack because it uses the Web API ?
Is it possible to do this in JS or at least would that be better?
Does Web API work with websockets for for reactivity or file system changes? Which is probably an advanced question for another thread or to be answered later when I've got a better understanding of things.
Personally its looking like I'll have to avoid using windows until I'm up to speed but it would be great if collectively you guys can explain a safe path to use windows. I'm just a little worried with a need for FS drivers I'm going to kill my machine and need a guinea pig to test all this.
Any deeper words and thoughts from the more experienced here would be appreciated. What would be an ideal setup and why? I'm defiantly advocating JavaScript only solutions and think you need an API interface with NO long polling websocket solution (socket.io) for any competitive solution, all with the focus on reactivity. And finally how does the mfs mutable file system command fit into all this?
Yours truly confused MJ

@Kubuxu
Copy link
Member

Kubuxu commented May 30, 2016

No it does not but there is plan for Unix socket (or in case of Windows probably named pipes) based API that would be RPC oriented with possibility of streaming. See ipfs/notes#129

@MasterJames
Copy link
Author

Thanks Kubuxu that is some pretty heavy stuff I admit has me reeling. Always more to learn but the real battle is at these lower levels for sure.
I found the link informative and opens more questions and possibilities.
Still I'm just looking for a simple way to do all this in a pure Javascript way. I guess that's not seemingly as simple as I dare to dream but my understanding of the issues is now broadened so thank you for commenting.

@whyrusleeping whyrusleeping added the kind/support A question or request for support label May 31, 2016
@whyrusleeping whyrusleeping added need/community-input Needs input from the wider community topic/windows Windows specific labels Aug 23, 2016
@whyrusleeping whyrusleeping added the need/analysis Needs further analysis before proceeding label Nov 28, 2016
@mrlindblom
Copy link

Found an alternative to dokany that could be worth looking in to.
Windows File System Proxy - FUSE for Windows
https://github.com/billziss-gh/winfsp

He also create a fuse lib in go that works on windows,linux and osx.
Cross-platform FUSE library for Go
https://github.com/billziss-gh/cgofuse

@Kubuxu
Copy link
Member

Kubuxu commented Sep 20, 2017

Someone already wrote something like this https://github.com/richardschneider/net-ipfs-mount

I don't know how well it works.

@djdv
Copy link
Contributor

djdv commented Sep 20, 2017

https://github.com/richardschneider/net-ipfs-mount

I've used this before, it seemed to work well with small datastores but not large ones. The problem is that it makes a call to pin ls?type=all when enumerating /ipfs/, which takes a very long time on my system. I rebuilt the latest version just now and it seems to still have this pattern, which makes it more or less unusable for me. If you don't have a large amount of pins though it works pretty well.

I recorded a demo for a friend at the beginning of the year that shows it in use.
/ipfs/zDMZof1kuXH3gTox32BydpwyJEKwZzkSu2erxBgeBy4dDRPrXvaJ/Desktop%2001.06.2017%20-%2017.35.36.05.mp4

@mrlindblom
Copy link

net-ipfs-mount used Dokany. Winfsp is another fuse implementation. Dokany been quiet slow when i tested in the past but that is quiet some time ago. On the github wiki winfsp has some perf chart that show that winfsp should be faster.
https://github.com/billziss-gh/winfsp/wiki/WinFsp-Performance-Testing

@djdv
Copy link
Contributor

djdv commented May 14, 2019

Ancient issue.
Closing in favour of: #5003

@djdv djdv closed this as completed May 14, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/support A question or request for support need/analysis Needs further analysis before proceeding need/community-input Needs input from the wider community topic/windows Windows specific
Projects
None yet
Development

No branches or pull requests

5 participants