Sync files with public link share on nextcloud

I may be dumb but I searched a lot for this functionality. Somehow, a lot of strange answer came from search engines (even tried chatGPT that bullshited me as usual)...
You must actually understand a bit of webdav usage in nextcloud to come up with a working solution. So I think it is worth sharing :slight_smile:

I got a public directory link share like this one:
https://dummycloud.net/s/azer9si8TG02

And I want my local directory "localdir" to be in sync with it.
All I have to do is:
rclone sync --webdav-url=https://dummycloud.net/public.php/webdav/ --webdav-user=azer9si8TG02 --webdav-vendor=nextcloud :webdav: .

You can add the parameter -webdav-pass="$(rclone obscure '12345')" if your share is protected by the password 12345.
You don’t have to do rclone conf for this example to work.

2 Likes

Reference:
https://docs.nextcloud.com/server/stable/user_manual/en/files/access_webdav.html#accessing-public-shares-over-webdav

If you would like you could propose a patch to the docs

There is an owncloud and nextcloud section - maybe in there?

I'm always getting "Failed to create file system for ":webdav:": the remote url looks incorrect. Note that nextcloud chunked uploads require you to use the /dav/files/USER endpoint instead of /webdav. Please check 'rclone config show remotename' to verify that the url field ends in /dav/files/USERNAME"

What am I missing ?

Nobody can guess what you are missing. Create new thread in ‘Help and support’ and post all data you will be asked for.

Here's what I was missing - It work with version 1.62.2.
It does not work with Version 1.63.0 and 1.63.1 anymore.

Are you able to compile rclone from source? Then we could bisect all commits between 1.62.2 and 1.63.0 and pinpoint one which introduced this issue.

Posting in multiple spots..

See -> Nextcloud: broke webdav connect in new version (due to added support for chunked uploads?) · Issue #7199 · rclone/rclone · GitHub

Fixed in the latest beta.

1 Like

To update this, you can not use --webdav-vendor=nextcloud anymore (rclone 1.68.2), but have to use --webdav-vendor=other.

With nextcloud as vendor rclone checks if the url contains the /dav/files/USER path, which is not used by nextcloud for public shares (Reference to nextcloud docs posted above still valid).

The error message with nextcloud configured as vendor makes me believe that no chunked uploads will be available if the workaround with vendor other is used, but I did not look further:

CRITICAL: Failed to create file system for ":webdav:": the remote url looks incorrect. Note that nextcloud chunked uploads require you to use the /dav/files/USER endpoint instead of /webdav. Please check 'rclone config show remotename' to verify that the url field ends in /dav/files/USERNAME