From ae01ff014452ec73e8396ffb436cfc5b3d4e02ba Mon Sep 17 00:00:00 2001 From: emilymvaughan <60364050+emilymvaughan@users.noreply.github.com> Date: Fri, 14 Oct 2022 11:57:34 -0400 Subject: [PATCH] Add blog: IPFS Over WebDAV (#479) * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/releasenotes.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/releasenotes.md * Update from Forestry.io emily.vaughan@protocol.ai created src/assets/ipfs-blog-header_-reframe.png emily.vaughan@protocol.ai created src/_blog/introducing-reframe.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/introducing-reframe.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/introducing-reframe.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/introducing-reframe.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/introducing-reframe.md * Update from Forestry.io emily.vaughan@protocol.ai created src/_blog/welcome-to-ipfs-news-184.md * Update from Forestry.io emily.vaughan@protocol.ai created src/assets/cover-afade294.png * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-184.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-184.md * Update from Forestry.io emily.vaughan@protocol.ai created src/assets/ipfs-blog-header_-ipfs-camp.png emily.vaughan@protocol.ai created src/_blog/announcing-the-second-ever-ipfs-camp.md * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Optimised images with calibre/image-actions * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update src/_blog/announcing-the-second-ever-ipfs-camp.md Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> * Update announcing-the-second-ever-ipfs-camp.md * Update from Forestry.io emily.vaughan@protocol.ai created src/assets/untitled-6.png * Update from Forestry.io emily.vaughan@protocol.ai created src/_blog/free-to-use-blockchain-koinos-introduces-plugin-architecture-for-developers-that-relies-on-libp2p.md * Update from Forestry.io emily.vaughan@protocol.ai deleted src/_blog/free-to-use-blockchain-koinos-introduces-plugin-architecture-for-developers-that-relies-on-libp2p.md * Update from Forestry.io emily.vaughan@protocol.ai deleted src/_blog/free-to-use-blockchain-koinos-introduces-plugin-architecture-for-developers-that-relies-on-libp2p.md * Update from Forestry.io emily.vaughan@protocol.ai created src/_blog/free-to-use-blockchain-koinos-introduces-plugin-architecture-for-developers-that-relies-on-libp2p.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/free-to-use-blockchain-koinos-introduces-plugin-architecture-for-developers-that-relies-on-libp2p.md * Update from Forestry.io emily.vaughan@protocol.ai created src/_blog/welcome-to-ipfs-news-185.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-185.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-185.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/releasenotes.md * Update from Forestry.io emily.vaughan@protocol.ai created src/_blog/welcome-to-ipfs-news-186.md * Update from Forestry.io emily.vaughan@protocol.ai created src/assets/banner-2.png emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-186.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-186.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/welcome-to-ipfs-news-186.md * Optimised images with calibre/image-actions * Update from Forestry.io emily.vaughan@protocol.ai created src/_blog/ipfs-over-webdav.md * Update from Forestry.io emily.vaughan@protocol.ai updated src/_blog/ipfs-over-webdav.md * Update from Forestry.io emily.vaughan@protocol.ai created src/assets/0003_v2.jpg emily.vaughan@protocol.ai updated src/_blog/ipfs-over-webdav.md * Update src/_blog/ipfs-over-webdav.md Co-authored-by: Mark Gaiser * Update src/_blog/ipfs-over-webdav.md Co-authored-by: Mark Gaiser * Update src/_blog/ipfs-over-webdav.md Co-authored-by: Mark Gaiser * Update src/_blog/ipfs-over-webdav.md Co-authored-by: Mark Gaiser Co-authored-by: Chris Waring <106938+cwaring@users.noreply.github.com> Co-authored-by: Mosh <1306020+mishmosh@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Mark Gaiser --- .../front_matter/templates/blog-post.yml | 1 + src/_blog/ipfs-over-webdav.md | 225 ++++++++++++++++++ src/assets/0003_v2.jpg | Bin 0 -> 75944 bytes 3 files changed, 226 insertions(+) create mode 100644 src/_blog/ipfs-over-webdav.md create mode 100644 src/assets/0003_v2.jpg diff --git a/.forestry/front_matter/templates/blog-post.yml b/.forestry/front_matter/templates/blog-post.yml index 17130198..d08d71d6 100644 --- a/.forestry/front_matter/templates/blog-post.yml +++ b/.forestry/front_matter/templates/blog-post.yml @@ -196,6 +196,7 @@ pages: - src/_blog/ipfs-in-2021-the-backbone-of-web3-s-mainstream-momentum.md - src/_blog/ipfs-in-brave-native-access-to-the-distributed-web.md - src/_blog/ipfs-in-opera-touch-on-ios.md +- src/_blog/ipfs-over-webdav.md - src/_blog/ipfs-thing-2022-recap.md - src/_blog/join-us-at-ethdenver-2021-year-of-the-spork-marmot.md - src/_blog/js-ipfs-0.55.0-greatly-improves-type-definitions.md diff --git a/src/_blog/ipfs-over-webdav.md b/src/_blog/ipfs-over-webdav.md new file mode 100644 index 00000000..ba34908e --- /dev/null +++ b/src/_blog/ipfs-over-webdav.md @@ -0,0 +1,225 @@ +--- +title: IPFS over WebDAV +description: IPFS over WebDAV, a deep dive to figure out the possibilities! +author: Mark Gaiser +date: 2022-10-13 +permalink: "/2022-10-13-ipfs-over-webdav/" +translationKey: '' +header_image: "/0003_v2.jpg" +tags: [] + +--- + +# IPFS over WebDAV +[WebDAV](https://en.wikipedia.org/wiki/WebDAV) 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. + +## Cross platform +WebDAV has a [very long history](https://en.wikipedia.org/wiki/WebDAV#History). It's an open standard implemented on top of the existing HTTP protocol. This meant building support for it was not too complex which resulted in very broad platform WebDAV support. + +### Windows +Windows has had WebDAV support since at least [Windows 98](https://www.youtube.com/watch?v=6tV1sm0_s_8) and continues to have it to this very day. + +*Below a screenshot of IPFS over WebDAV in Windows Explorer* +![](https://i.imgur.com/cUGpjeR.png) + + +### Mac +Mac has had WebDAV support for a long time too, in various degrees. Mac OS X 10.4 Tiger added secure access to WebDAV. + +### Linux +In Linux there are various desktop environments. For the comparison we can look at Gnome (Gvfs is their IO layer) and KDE (KIO is their IO layer). + +* **Gnome** gained WebDAV support in 2000. +* **KDE** gained [WebDAV support](https://github.com/KDE/kdelibs/blame/1c5b25966136b6099665477616fb4d38a98fd7ef/kioslave/http/webdavs.protocol) in 2002. + +*Below a screenshot of IPFS over WebDAV in Dolphin (KDE's/Plasma's default file browser).* +![](https://i.imgur.com/nKlCqm4.png) + +### iOS and Android +The story on mobile is a little different. The stock file browsers you get there are quite limited and don't offer many (or any) special feature. Third-party file browsers do provide more functionality in their app stores. + +* For Android, there is [Solid Explorer](https://play.google.com/store/apps/details?id=pl.solidexplorer2&hl=en&gl=US) which offers very good WebDAV support. Alternatively ther is also [Cx File Explorer](https://play.google.com/store/apps/details?id=com.cxinventor.file.explorer&hl=en&gl=US). +* For iOS there is [WebDAV Navigator](https://apps.apple.com/us/app/webdav-navigator/id382551345). Both platforms offer more apps that support WebDAV. + +*Below a screenshot of IPFS over WebDAV in Cx File Explorer on Android.* + +![](https://i.imgur.com/jIMumCL.jpg) + +### WebDAV is everywhere! +The above makes clear that WebDAV is available on every major platform, so we wanted to experiment with making IPFS over WebDAV a thing.For all we knew, it could be the sweet spot protocol making IPFS more widely and easily usable. + +However, we had to evaluate how feasible this project was. This blog post answers that question and covers our findings when experimenting with WebDAV. + +## Who uses WebDAV? +The first thing we needed to know is the current use of WebDAV in the (web)storage world. This would be a telling indicator of its popularity and could provide some ideas and insights on how we could use it for IPFS purposes. + +A table can tell the story a lot better. Below are the top 10 cloud storage providers (according to [this site](https://www.cloudwards.net/best-cloud-storage/)) with their WebDAV support. + +| Product | Out of the box WebDAV? | Third party WebDAV? | +| -------- | -------- | -------- | +| [Dropbox](https://www.dropbox.com/) | :x: | :heavy_check_mark: | +| [Filen](https://filen.io/) | :x: | :x: | +| [Google Drive](https://www.google.com/drive/) | :x: | :heavy_check_mark: | +| [icedrive](https://icedrive.net/) | :heavy_check_mark: | :heavy_check_mark: | +| [Jumpshare](https://jumpshare.com/) | :x: | :x: | +| [KOOFR](https://koofr.eu/) | :x: | :x: | +| [MEGA](https://mega.io/) | :heavy_check_mark: | :heavy_check_mark: | +| [oneDrive](https://onedrive.live.com/) | :x: | :heavy_check_mark: | +| [pCloud](https://www.pcloud.com/) | :heavy_check_mark: | :heavy_check_mark: | +| [sync.com](https://www.sync.com/) | :x: | :x: | + + +The table shows a couple things clearly. +1. Storage providers don't often provide WebDAV support out of the box. +2. There is still *some* demand for WebDAV support because over half of the above 10 have at least 1 third party tool making WebDAV possible. + +That being said, it does really look like WebDAV is past its heyday. The increasingly more popular need for encrypted storage makes WebDAV difficult - if not impossible - to support. + +Other clues hinting at this are the fairly few projects found on Github. When [searching for WebDAV](https://github.com/search?q=webdav&type=repositories) we find all clients and server implementations, thus skewing the results a bit. If we narrow it down to just [WebDAV server](https://github.com/search?q=webdav+server&type=repositories) implementations, the results are very few. (Note that this is still skewed since it matches `Sync local files and directories to a WebDAV server` too, which isn't a WebDAV server.) + +## How does IPFS map on WebDAV? +These days, WebDAV is used more as a tool to synchronize a remote folder with a local one. That is, however, just a subset of the intent. + +WebDAV was designed to make your webserver act as a fileserver over the same web protocol. With your file explorer you could then connect to your webserver, with WebDAV enabled, and it would show you files and folders just like browsing any local files and folders in your explorer. + +Another way to look at it is to imagine integrating FTP functionality inside a webserver so there is effectively no need for FTP at all. Just a webserver would suffice. + +One of the requirements for such functionality is the ability to browse files and folders. This is what WebDAV can offer to IPFS: an easy way to access files and folders on the network. It would allow users to browse data without even knowing that IPFS is used under the hood. + +## Potential WebDAV benefits +WebDAV as a standard extends the HTTP methods to their needs. This being standardized helps to consider supporting part of it if that makes IPFS more easily usable. It even opens up new usecases, such as: +1. A writable gateway. Think of [MFS](https://docs.ipfs.tech/concepts/file-systems/#mutable-file-system-mfs). +2. IPFS integrations in applications currently supporting WebDAV already. +3. Out-of-the-box IPFS support via WebDAV on Windows, macOS and Linux. +4. Android and iOS support via one of the many apps. + +There are more potential benefits but this short list is already huge in what WebDAV support could bring. + +## WebDAV and the Go language +The IPFS reference implementation, KUBO, is written in Go. There seems to be a complete [WebDAV server package](https://pkg.go.dev/golang.org/x/net/webdav) for Go. On a technical level, this package makes it at least achievable to consider implementing WebDAV support in KUBO. + +## Proof of concept: Separate WebDAV server in NodeJS +A few months ago, Mark Gaiser set out to create a proof of concept (POC) project in NodeJS. That language was chosen because of the ease of rapid development and because of the availability of an already fully working [WebDAV server](https://github.com/OpenMarshal/npm-WebDAV-Server) package. + +*"The approach I wanted to take here was to use as much existing components as possible. For example, with that webdav server there are a couple ways to start such a server. The easiest way was to set a specific folder as your "webdav folder" which that server package would serve."* — Mark Gaiser + +Another way would be to follow that package logic and create a [custom filesystem](https://github.com/OpenMarshal/npm-WebDAV-Server/wiki/Custom-File-System-%5Bv2%5D). + +After a lot of testing Mark came to the conclusion that he needed to implement a virtual file system in one form or another. The thinking here was that a virtual filesystem would be beneficial to have even if WebDAV didn't turn out as desired. + +If this virtual filesystem were to exist, users could use the nodejs filesystem function to read files from IPFS, for example. Effectively what was needed was a library that was compatible with NodeJS's [fs](https://nodejs.org/api/fs.html) API. + +Conceptually, it was now at the same level as a virtual filesystem for other cloud storage providers. One example is [this package](https://www.npmjs.com/package/dropbox-fs) achieving exactly the desired effect but for Dropbox instead. + +There are many more packages like that out there, creating what is effectively a fs implementation. As each implementation is different, there was no way to reuse existing projects in this regard. However, there were ways to look at some of their concepts and reuse parts of them. + +## Virtual filesystem approach leads to WebDAV server fork +While the [WebDAV server](https://github.com/OpenMarshal/npm-WebDAV-Server) package allowed for defining a native fs path, it didn't have a way to provide a custom fs implementation object. The developer of that package informed that a patch for that would be welcome if accompanied with proper tests. + +Mark forked their repository with the intent of creating a PR "at some future time." For the time being though, it lives in it's [own repository](https://github.com/markg85/npm-WebDAV-Server). In time, this might be merged back if the extra time is put in to make it acceptable. + +With this fork in place, any virtual filesystem object that implements Node's fs functions can be used to be served as a WebDAV directory. This approach worked with the [dropbox virtual filesystem package](https://www.npmjs.com/package/dropbox-fs), with a small modification. This proved that a virtual filesystem approach would likely work. + +## IPFS-backed virtual filesystem in nodejs +**Disclaimers:** +1. This library is a work in progress. +2. The quality serves for testing purposes only. +3. It needs more work to be reusable. +4. Don't reuse this! + +With that out of the way, it is possible to make a [virtual filesystem that is backed by IPFS](https://github.com/markg85/webdavipfs/blob/main/lib/vfs.js)! However, be aware that this library was created with the aim to figure out if we should add WebDAV support in the gateway code. + +This library is therefore **not** using the gateway (it wouldn't make sense within the gateway context) but is instead using the internal IPFS HTTP API from port 5001. That means this library is only actually useful if you're running a local node. + +This library will be made more useful over time. Mark plans to: +1. Allow to choose the backend handling. Like using the internal HTTP API or the gateway API. +2. Write support. +3. Add it on npmjs under a to-be-determined name. + +The idea is that builders should be able to run "native looking" nodejs fs functions on that library. Here's an example of what should become possible: +```javascript +const fsObj = require('to-be-determined')({ + apiBackend: { + type: .INTERNAL, + port: 5001 + } +}); + +fsObj.readdir('ipfs://', (err, result) => { + // Lists folder content + console.log(result); +}); +``` + +## IPFS over WebDAV results +With the virtual filesystem backed by IPFS in place we have a working IPFS over WebDAV application. Now we finally have the ability to answer "how feasible is IPFS over WebDAV?" + +To answer this, Mark ran a range of tests on different platforms and two WebDAV implementations. The table should be read as follows: + +* The fist emoji in each column represents my implementation in NodeJS. +* The second emoji represents the WebDAV implementation in `rclone`. (This implementation was chosen because it is written in Go and seems well supported.) + + +| *testcase* | Windows | Linux (KDE) | Android (Solid Explorer) | +| ---------- | ------- | ----- | --------------- | +| File opens |:cry::cry:|:cry::cry:|:smile::smile:| +| Streaming |:angry::angry:|:angry::angry:|:unicorn::smile:| +| Browsing |:cry::cry:|:smile::smile:|:cry::cry:| +| Metadata works |:smile::smile:|:smile::smile:|:smile::smile:| +| Write prevents |:angry::angry:|:angry::angry:|:angry::angry:| +| Copy |:cry::cry:|:smile::smile:|:smile::smile:| +| Placeholder readme|:smile::smile:|:smile::smile:|:smile::smile:| + +Legend: +:angry: = Not working at all. No clear path to fix it either. +:cry: = Works in specific condition or needs manual steps. See note for specific app. +:smile: = All good. +:unicorn: = Anyone's guess. Not able to properly test but looks to be working great. + +**File opens** +The happy face would be that a file - any file - would open just like any file normally opens in a file browser. + +This turned out to not be the case in Windows and Linux. Windows has a 50MB file limit for anything in WebDAV. Opening any files below that side works "ok'ish." Opening files above 50MB just downright fails with no error or warning at all. + +Linux (at least KDE's Dolphin) doesn't have this size limitation. Both have the limitation that each file being opened is first downloaded (you don't get any feedback about that) and opens after the download is completed. That could take a long time. + +**Streaming** +Streaming is much related to file opening. Neither Windows or Linux do that as they need to download the data as a whole before it starts playing. + +Android (Solid Explorer) has a sort of "streaming service" that runs in the background. It appears to download the file in chunks and handles it in those chunks too. This gives the user an experience of the file playing immediately no matter large it is. Experiences with Solid Explorer will feel like a native filesystem, in this regard. + +**Browsing** +Users would expect to be able to browse to `/ipfs/`when using the Dolphin file browser under KDE. However, on Android and Windows it doesn't work that way. The reason is complicated. + +Say on Windows you want to browse to `/ipfs/`, you can if your `/ipfs` folder has that `` as subfolder. But you don't have that. You don't know which CID's you can browser in `/ipfs` thus windows (and Solid Explorer on Android) just don't work. + +They don't know the child in the given parent. KDE's Dolphin simply doesn't care in this case and tries to open it regardless, which is why it works there. For Windows and Android (Solid Explorer) you have to specify the exact point you want to browse at the moment of making a WebDAV connection. So if you made a connection to `/ipfs/` and you then want to browse to `/ipfs/`, you have to edit your WebDAV connection to that new CID you want to browse. + +**Metadata works** +These are the file attributes that define how your file browser presents entries. For example, an entry with a folder type should be presented as a folder and not as a json file, for example. This works fine for all tested environments. + +**Write prevents** +Write prevents have to be specifically highlighted. WebDAV itself doesn't have an explicit read-only mode. Therefore, what we're trying here isn't fully supported by WebDAV to begin with. + +Here the disclaimer of "There will be lots of bugs!" applies. Handling this gracefully is just an implementation detail for a future time. + +**Copy** +On Windows, this experience is poor as you can again only interact with files that are within that 50MB limit. If you interact with anything larger (that includes copy) then it doesn't work. The other tested environments work just fine here. + +**Placeholder readme** +Placeholder readme's are magical files that you will see on `/ipfs` and `/ipns`. These readme files are just stub single-line files to demonstrate that can be done, too. If you're using Windows or Android you likely never see these as you have to make a mapping there directly to `/ipfs/`. + +## IPFS over WebDAV future +We're looking for your opinion! What do you think of these results? What kind of usecases can you imagine with a potential WebDAV-enabled gateway? If you have an opinion in this we very much welcome you to share your thoughts and help us pick a path forward with WebDAV. + +You can reach out to us directly on [Slack](https://filecoin.io/slack), [Discord](https://discord.gg/ipfs), [Matrix](https://matrix.to/#/#ipfs-space:ipfs.io) or the [forum](https://discuss.ipfs.tech/). + +### You can help! +Making IPFS more broadly accessible is always a great goal to keep in mind. If you are interested in this project and want to improve it, feel free to hack away on the [code](https://github.com/markg85/webdavipfs). + +If you have larger changes in mind then it might be worth having a look at our [Open Grant](https://github.com/ipfs/devgrants) options and give it a try. + +If you know of any projects you find interesting where WebDAV is supported but IPFS isn't, please send us that hint as a Github issue [here](https://github.com/ipfs/integrations/issues). + +## Can I run this? +Sure! [This repository](https://github.com/markg85/webdavipfs) provides the details on how to run this whole experiment yourself. \ No newline at end of file diff --git a/src/assets/0003_v2.jpg b/src/assets/0003_v2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec47382e7108b6025657b70b314b2fd10e1ff3ff GIT binary patch literal 75944 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 Da