{"action":"created","issue":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/5003","repository_url":"https://api.github.com/repos/ipfs/go-ipfs","labels_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/5003/labels{/name}","comments_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/5003/comments","events_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/5003/events","html_url":"https://github.com/ipfs/go-ipfs/issues/5003","id":320903127,"number":5003,"title":"Windows mount support","user":{"login":"djdv","id":13862850,"avatar_url":"https://avatars1.githubusercontent.com/u/13862850?v=4","gravatar_id":"","url":"https://api.github.com/users/djdv","html_url":"https://github.com/djdv","followers_url":"https://api.github.com/users/djdv/followers","following_url":"https://api.github.com/users/djdv/following{/other_user}","gists_url":"https://api.github.com/users/djdv/gists{/gist_id}","starred_url":"https://api.github.com/users/djdv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/djdv/subscriptions","organizations_url":"https://api.github.com/users/djdv/orgs","repos_url":"https://api.github.com/users/djdv/repos","events_url":"https://api.github.com/users/djdv/events{/privacy}","received_events_url":"https://api.github.com/users/djdv/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":4,"created_at":"2018-05-07T18:16:57Z","updated_at":"2018-05-16T20:36:36Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Tracking/discussion issue for the topic of implementing `ipfs mount` on Windows.\r\nThis is a broad topic, all comments and criticisms are welcome here as long as they help drive us towards a solution. Nothing is set in stone yet and we'd like to implement this correctly.\r\n\r\nCurrently we have no first party support for this:\r\n>Error: Mount isn't compatible with Windows yet\r\n\r\nFor third party, I'm aware of these projects:\r\nhttps://github.com/alexpmorris/dipfs\r\nhttps://github.com/richardschneider/net-ipfs-mount\r\nboth utilize the IPFS API and [Dokany](https://github.com/dokan-dev/dokany)(a Windows FUSE alternative).\r\n\r\n`dipfs` does not appear to be maintained.\r\nIn my experience it will succeed in mounting IPFS as a drive letter, and allows you to traverse IPFS paths via CLI, however it hangs in explorer (likely from it trying to access metadata), or when trying to read data through any means.\r\n\r\n`net-ipfs-mount` is currently being maintained.\r\nThis is our best contender, everything appears to work as intended unless you have a non-tiny pinset. When trying to traverse IPFS paths with a large enough pinset, passing the list of pins from the API to net-ipfs-mount can take long enough for Windows to deem `/ipfs` inaccessible.\r\nFor local testing you can run `ipfs pins ls` and see how long it takes to return.\r\n***\r\n\r\nI would like to start an initiative, aimed at getting Windows mounting on par with the other platforms.\r\nThat is to say, at the very least, exposing read only access to `/ipfs` and `/ipns` constructs.\r\nIf possible, it would be nice to extend the feature set to expose a writable MFS root as well, similar to this https://github.com/tableflip/ipfs-fuse\r\n\r\nMost likely, this will mean implementing first party support for `mount` in `go-ipfs`, utilizing core APIs where possible.\r\n\r\nMention of https://github.com/billziss-gh/winfsp has come up as an alternative to Dokany. It's likely that `winfsp`'s native API will be our target, however this is not locked down yet. If you have opinions on Windows filesystem APIs, positive or negative, please post them here.\r\n\r\ncc:\r\n@mgoelzer, @alanshaw, @dryajov, @mrlindblom, @Kubuxu, @whyrusleeping \r\n\r\nEdit: forgot to cc: @alexpmorris, @richardschneider"},"comment":{"url":"https://api.github.com/repos/ipfs/go-ipfs/issues/comments/389657029","html_url":"https://github.com/ipfs/go-ipfs/issues/5003#issuecomment-389657029","issue_url":"https://api.github.com/repos/ipfs/go-ipfs/issues/5003","id":389657029,"user":{"login":"billziss-gh","id":15330948,"avatar_url":"https://avatars3.githubusercontent.com/u/15330948?v=4","gravatar_id":"","url":"https://api.github.com/users/billziss-gh","html_url":"https://github.com/billziss-gh","followers_url":"https://api.github.com/users/billziss-gh/followers","following_url":"https://api.github.com/users/billziss-gh/following{/other_user}","gists_url":"https://api.github.com/users/billziss-gh/gists{/gist_id}","starred_url":"https://api.github.com/users/billziss-gh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/billziss-gh/subscriptions","organizations_url":"https://api.github.com/users/billziss-gh/orgs","repos_url":"https://api.github.com/users/billziss-gh/repos","events_url":"https://api.github.com/users/billziss-gh/events{/privacy}","received_events_url":"https://api.github.com/users/billziss-gh/received_events","type":"User","site_admin":false},"created_at":"2018-05-16T20:36:36Z","updated_at":"2018-05-16T20:36:36Z","author_association":"NONE","body":"NP. Feel free to ping anytime and I will continue monitoring this issue.\r\n\r\n>> WinFsp includes API’s for creating Windows services\r\n>\r\n> I have considered packaging go-ipfs in an MSI that optionally installs a service for the ipfs daemon. \r\n\r\nWhile I do not understand the internals of IPFS, in general file systems benefit from being run as Services under Windows. I outline some of the reasons here:\r\n\r\nhttps://github.com/billziss-gh/winfsp/wiki/WinFsp-Service-Architecture"}}
{"actor":{"display_login":"billziss-gh"}}