WebDAV (opens new window) is a protocol that extends the HTTP protocol. The intent is for webserver to also act as fileservers. A user could access WebDAV enabled webservers in their native filebrowser and other locally running applications. It effectively allows managing your files on your webserver straight from your file explorer as if they were local files. This technology, over time, found it's way into every major operating system. What WebDAV has achieved here is where IPFS needs to be to. Easily accessible in your file browser. Let's take a look at why such an ancient protocol could be a good fit for IPFS purposes.
It is a great option to access IPFS via WebDav. Seems like it is quite easy to make it possible to open IPFS folders. But it can’t be writable, because webdav URL should change on every write operation. Writable mode could be suitable with IPNS only.
Webdav have LOCK operation, file meta. This part is going to be broken, difficult to implement with IPFS.
Even though, it is a great idea to use very common protocol to access files.
I’m not sure what the use case for IPFS over WebDAV would be. The layering seems wrong - WebDAV is a file system access protocol, IPFS is a file system.
On the other hand, WebDAV access to files stored in IPFS makes a LOT of sense. The DAV stands for “Distributed Authoring & Versioning” - and WebDAV is a great protocol for it. Adding IPFS to the backing file systems, available through WebDAV, makes a LOT of sense. IPFS would be a LOT more useful if one could simply mount it like any other network file system.
You make the distinction that IPFS is a file system rather than an access protocol then go on to say, “IPFS would be a LOT more useful if one could simply mount it like any other network file system”.
You can mount it just like any other network file system with FUSE but it’s just IPFS/IPNS not MFS and doesn’t include permissions or timestamp. It’s nice to have options with WebDAV but I think fixing up FUSE would be even better. I’d like to see MFS and I’d really like to see permissions support. Right now you can’t execute a file that is IPFS mounted.
I’ve said it before but it’s Inter Planetary File System but when you go to show someone, “hey you can mount it with FUSE” and work with it the response is, “oh, you can’t add anything to it you need to use the CLI and then copy the hash and then you can access it through the mount point, and then you don’t get the timestamp or permissions so you can’t execute it and you’ll probably have some issues with symlinks.”.
What about MFS? That’s seems more like what you think of with a filesystem. Ok, cool mount that. Na, you can’t mount MFS. But if you do use it try not to put too much in there as it’s really slow. (sad trombone)
Mounting it with fuse is one thing, but mounting it on a random PC, or Mac, through the built-in WebDAV handler is a lot more useful to most of the world that doesn’t know from nothing about FUSE. WebDAV also provides a nice way to access files from a browser, without needing an IPFS plug-in.
This is basic protocol architecture, engineering, and integration. For IPFS to be adopted widely, it needs to integrate nicely into real-world ecosystems. Plug-and-play. Otherwise, it’s just a lab experiment & a hack.
I’m not saying don’t do it. I actually said the opposite, go for it more options are great but if you’re going for broader adoption you should concentrate on broken core features. It’s just hubris to think that the only thing in the way of broader adoption is some ease of use feature.
I also don’t agree that for IPFS to be adopted widely it needs to integrate nicely into real-world ecosystems. The web didn’t integrate with jack when it got started but became popular enough on its own merits that everything else integrated into it. Integration should come after the fact otherwise it’s just looking to ride the coattails of some other technology to justify its existence.
I’m looking from time to time for a way to make a mirror of Ubuntu Archives to IPFS. The intended user experience is for users to put a localhost:8080/ipns address in their sources.list, install IPFS Desktop then be able to upgrade their system from IPFS via IPFS and to also seed the packages they use, but only the ones they use.
A major requirement for this project is to have a server that does not need to duplicate files between the IPFS node and the local drive.
The filestore was incredibly unsuitable for this project because of too many technical limitations found in #7373.
If there was a way to mount the MFS, whether through WebDav or Fuse at /mfs or the Cloud Files API, it would allow me to revive this project.