feat: Implement WebDAV support#5777
Conversation
|
My two cents most WebDAV servers aren’t very useful on their own they’re usually complicated with Apache or Nginx and feel really old. FileBrowser’s user and permissions system works perfectly for WebDAV and since it’s built on similar ideas putting the two together just makes sense to me. |
|
Yes, most of the webdav servers are slow and need lot for not much, having it built in lightweight projects like filebrowser totally make sense to me. I hope it gets added to the next release. |
|
@hacdias Please add WebDAV to FileBrowser; we really need it and have been requesting it for several years. |
|
awesome ! @hacdias we need this 😍 |
|
@gltdevlop You have no translations in your commits |
|
Oh. i'm on macOS so I couldn't test it with Windows. Also, I added English translations in the repo but i did not understand how to provide them any other way. if you can add translations yourself via another commit or if I should add them myself, let me know. |
|
@gltdevlop I am not part of the filebrowser development team, but I don't think they will accept your implementation upstream, as it is incomplete and will require additional work from the developers to fully support it. |
|
Yeah, @crim50n is right. There's TODOs in the code, and it's quite of a big feature to add for a project that is in maintenance only mode.
This is also true. WebDAV servers are very annoying when it comes to reverse proxies. |
If a high-quality implementation is developed, could it be included in the upstream? WebDAV integration doesn't contradict the FileBrowser philosophy, as it's still the web, but it offers significant advantages when copying large numbers of files. |
|
Not sure, it's still quite of a big feature to add and maintain. Here's something I wrote about the status of the project: https://hacdias.com/2026/03/11/filebrowser/ |
|
@gltdevlop can you make a fork and set-up build for it ? |
Description
This PR implements a robust WebDAV handler using
golang.org/x/net/webdav.[NEW]
http/webdav_fs.go: Implemented webDavFS wrapper to adapt afero.Fs for the WebDAV handler.[NEW]
http/webdav_test.go: Added unit tests for WebDAV authentication and enabling/disabling logic.[EDIT]
settings/settings.go: Added EnableWebDAV field to the Settings struct.[EDIT]
http/webdav.go: Implemented the webDavHandler with proper locking and filesystem integration.Additional Information
I've considered not adding this feature because of the "heaviness" it can be with such a lightweight project but I think it's really useful for people that uses self-hosted files like a Home NAS without OSes like TrueNAS or OMV, so that they can access it from the Windows Explorer, macOS Finder or any other webdav client. I know the project is in maintenance only but I think this feature can be grateful and useful for a lot of people wanting a fast but fully-optioned file explorer.
Checklist
Before submitting your PR, please indicate which issues are either fixed or closed by this PR. See GitHub Help: Closing issues using keywords.
masterbranch.