Skip to content

feat: Implement WebDAV support#5777

Draft
gltdevlop wants to merge 2 commits intofilebrowser:masterfrom
gltdevlop:dev
Draft

feat: Implement WebDAV support#5777
gltdevlop wants to merge 2 commits intofilebrowser:masterfrom
gltdevlop:dev

Conversation

@gltdevlop
Copy link
Copy Markdown

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.

Capture d’écran 2026-02-19 à 14 42 47

Checklist

Before submitting your PR, please indicate which issues are either fixed or closed by this PR. See GitHub Help: Closing issues using keywords.

  • I am aware the project is currently in maintenance-only mode. See README
  • I am aware that translations MUST be made through Transifex and that this PR is NOT a translation update
  • I am making a PR against the master branch.
  • I am sure File Browser can be successfully built. See builds and development.

@gltdevlop gltdevlop requested a review from a team as a code owner February 19, 2026 13:43
@TheMerkyShadow
Copy link
Copy Markdown

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.

@gltdevlop
Copy link
Copy Markdown
Author

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.

@crim50n
Copy link
Copy Markdown

crim50n commented Feb 25, 2026

@hacdias Please add WebDAV to FileBrowser; we really need it and have been requesting it for several years.

@azdfzshffg
Copy link
Copy Markdown

awesome ! @hacdias we need this 😍

@crim50n
Copy link
Copy Markdown

crim50n commented Feb 26, 2026

@gltdevlop You have no translations in your commits

@gltdevlop
Copy link
Copy Markdown
Author

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.
Thanks in advance

@crim50n
Copy link
Copy Markdown

crim50n commented Feb 26, 2026

@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.

@hacdias
Copy link
Copy Markdown
Member

hacdias commented Feb 28, 2026

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.

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.

This is also true. WebDAV servers are very annoying when it comes to reverse proxies.

@crim50n
Copy link
Copy Markdown

crim50n commented Feb 28, 2026

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.

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.

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.

@hacdias
Copy link
Copy Markdown
Member

hacdias commented Mar 6, 2026

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/

@vanmilleru
Copy link
Copy Markdown

@gltdevlop can you make a fork and set-up build for it ?

@hacdias hacdias marked this pull request as draft April 11, 2026 05:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

6 participants