Connect to directory via rclone server

What is the problem you are having with rclone?

I have an rclone webdav server backed by Proton Drive. With this, I can access Proton Drive using Nautilus (Ubuntu) and CX File Explorer (Android). I want to use this server to sync Joplin between various devices. My Proton Drive has a top-level directory named Joplin. I want to sync Joplin to this directory, but if I include the directory name in the URL path, the connection fails. The same failure occurs if I pass the same URL to `curl`.

The URL: curl -u "***" http://192.168.18.11/Joplin:8888

Result: Failed to connect to 192.168.18.11 port 80 after 39 ms: Connection refused

Note that it fails to connect to port 80, not port 8888.

Is it not legal to include a path in a webdav URL?

Run the command 'rclone version' and share the full output of the command.

rclone v1.76.0-beta.10313.e953cb275.fix-9882-serve-webdav
- os/version: ubuntu 24.04 (64 bit)
- os/kernel: 6.8.0-138-generic (x86_64)
- os/type: linux
- os/arch: amd64
- go/version: go1.27.1
- go/linking: static
- go/tags: none

Which cloud storage system are you using? Proton Drive

The command you were trying to run

rclone serve webdav --vfs-cache-mode full --addr 192.168.18.11:8888 --user *** --pass *** Proton:

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

```
[Proton]
type = protondrive
username = bdobby@pm.me
password = XXX
otp_secret_key = XXX
2fa = 5592689
client_uid = XXX
client_access_token = XXX
client_refresh_token = XXX
client_salted_key_pass = XXX
```

A log from the command that you were trying to run with the -vv flag

brian@Trillian:~/bin$ ./rclone-server  >~/rclone-server.log
2026/09/10 14:38:27 DEBUG : rclone: Version "v1.76.0-beta.10313.e953cb275.fix-9882-serve-webdav" starting with parameters ["rclone" "-vv" "serve" "webdav" "--vfs-cache-mode" "full" "--addr" "192.168.18.11:8888" "--user" "brian" "--pass" "brian@trillian" "Proton:"]
2026/09/10 14:38:27 DEBUG : Creating backend with remote "Proton:"
2026/09/10 14:38:27 DEBUG : Using config file from "/home/brian/.config/rclone/rclone.conf"
2026/09/10 14:38:27 DEBUG : proton drive root link ID '': Has cached credentials
2026/09/10 14:38:33 DEBUG : proton drive root link ID '': Used cached credential to initialize the ProtonDrive API
2026/09/10 14:38:33 INFO  : proton drive root link ID '': poll-interval is not supported by this remote
2026/09/10 14:38:33 DEBUG : proton drive root link ID '': vfs cache: root is "/home/brian/.cache/rclone"
2026/09/10 14:38:33 DEBUG : proton drive root link ID '': vfs cache: data root is "/home/brian/.cache/rclone/vfs/Proton"
2026/09/10 14:38:33 DEBUG : proton drive root link ID '': vfs cache: metadata root is "/home/brian/.cache/rclone/vfsMeta/Proton"
2026/09/10 14:38:33 DEBUG : Creating backend with remote ":local,encoding='Slash,Dot',links=false:/home/brian/.cache/rclone/vfs/Proton"
2026/09/10 14:38:33 DEBUG : :local: detected overridden config - adding "{8un-i}" suffix to name
2026/09/10 14:38:33 DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot',links=false:/home/brian/.cache/rclone/vfs/Proton" to be canonical ":local{8un-i}:/home/brian/.cache/rclone/vfs/Proton"
2026/09/10 14:38:33 DEBUG : Creating backend with remote ":local,encoding='Slash,Dot',links=false:/home/brian/.cache/rclone/vfsMeta/Proton"
2026/09/10 14:38:33 DEBUG : :local: detected overridden config - adding "{8un-i}" suffix to name
2026/09/10 14:38:33 DEBUG : fs cache: renaming cache item ":local,encoding='Slash,Dot',links=false:/home/brian/.cache/rclone/vfsMeta/Proton" to be canonical ":local{8un-i}:/home/brian/.cache/rclone/vfsMeta/Proton"
2026/09/10 14:38:35 DEBUG : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: checking remote fingerprint "529,2026-09-09 14:58:53 +0000 UTC,3f4cf14bb3776a1eb52e2a5002354801d031efa7" against cached fingerprint "529,2026-09-09 14:58:53 +0000 UTC,3f4cf14bb3776a1eb52e2a5002354801d031efa7"
2026/09/10 14:38:35 DEBUG : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: truncate to size=2870 (not needed as size correct)
2026/09/10 14:38:35 DEBUG : vfs cache: looking for range={Pos:0 Size:529} in [{Pos:0 Size:2870}] - present true
2026/09/10 14:38:35 DEBUG : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: setting modification time to 2026-09-10 12:37:41.506412148 +0100 BST
2026/09/10 14:38:35 INFO  : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: queuing for upload in 5s
2026/09/10 14:38:35 DEBUG : Added virtual directory entry vAddFile: "4dadcae0f801418da3d9a2cd77645954.md"
2026/09/10 14:38:38 DEBUG : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: checking remote fingerprint "527,2026-09-09 14:58:54 +0000 UTC,7cd4ff1458093201cc5e7d2d758457646185cf6e" against cached fingerprint "527,2026-09-09 14:58:54 +0000 UTC,7cd4ff1458093201cc5e7d2d758457646185cf6e"
2026/09/10 14:38:38 DEBUG : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: truncate to size=850 (not needed as size correct)
2026/09/10 14:38:38 DEBUG : vfs cache: looking for range={Pos:0 Size:527} in [{Pos:0 Size:850}] - present true
2026/09/10 14:38:38 DEBUG : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: setting modification time to 2026-09-10 12:37:41.406211636 +0100 BST
2026/09/10 14:38:38 INFO  : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: queuing for upload in 5s
2026/09/10 14:38:38 DEBUG : Added virtual directory entry vAddFile: "66641ee576a145bd88117e16508fb2e2.md"
2026/09/10 14:38:40 DEBUG : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: checking remote fingerprint "529,2026-09-09 14:58:54 +0000 UTC,07ee5785083bfe63aa9b5dbc47c3b9bae0762c80" against cached fingerprint "529,2026-09-09 14:58:54 +0000 UTC,07ee5785083bfe63aa9b5dbc47c3b9bae0762c80"
2026/09/10 14:38:40 DEBUG : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: truncate to size=3621 (not needed as size correct)
2026/09/10 14:38:40 DEBUG : vfs cache: looking for range={Pos:0 Size:529} in [{Pos:0 Size:3621}] - present true
2026/09/10 14:38:40 DEBUG : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: setting modification time to 2026-09-10 12:37:41.295358369 +0100 BST
2026/09/10 14:38:40 INFO  : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: queuing for upload in 5s
2026/09/10 14:38:40 DEBUG : Added virtual directory entry vAddFile: "e83f43615d9d48259c22c2aed10c00b1.md"
2026/09/10 14:38:40 INFO  : Using --user brian --pass XXXX as authenticated user
2026/09/10 14:38:40 DEBUG : proton drive root link ID '': vfs cache RemoveNotInUse (maxAge=3600000000000, emptyOnly=false): item 4dadcae0f801418da3d9a2cd77645954.md not removed, freed 0 bytes
2026/09/10 14:38:40 DEBUG : proton drive root link ID '': vfs cache RemoveNotInUse (maxAge=3600000000000, emptyOnly=false): item 66641ee576a145bd88117e16508fb2e2.md not removed, freed 0 bytes
2026/09/10 14:38:40 DEBUG : proton drive root link ID '': vfs cache RemoveNotInUse (maxAge=3600000000000, emptyOnly=false): item e83f43615d9d48259c22c2aed10c00b1.md not removed, freed 0 bytes
2026/09/10 14:38:40 INFO  : proton drive root link ID '': vfs cache: cleaned: objects 3 (was 3) in use 3, to upload 3, uploading 0, total size 7.169Ki (was 7.169Ki)
2026/09/10 14:38:40 NOTICE: proton drive root link ID '': WebDav Server started on [http://192.168.18.11:8888/]
2026/09/10 14:38:40 DEBUG : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: starting upload
2026/09/10 14:38:41 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:38:41 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:38:43 DEBUG : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: starting upload
2026/09/10 14:38:43 ERROR : 4dadcae0f801418da3d9a2cd77645954.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:43 ERROR : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:43 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:38:43 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:38:45 DEBUG : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: starting upload
2026/09/10 14:38:45 ERROR : 66641ee576a145bd88117e16508fb2e2.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:45 ERROR : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:46 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:38:46 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:38:47 ERROR : e83f43615d9d48259c22c2aed10c00b1.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:47 ERROR : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: failed to upload try #1, will retry in 10s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:53 DEBUG : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: starting upload
2026/09/10 14:38:54 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:38:54 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:38:55 DEBUG : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: starting upload
2026/09/10 14:38:56 ERROR : 4dadcae0f801418da3d9a2cd77645954.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:56 ERROR : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: failed to upload try #2, will retry in 20s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:56 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:38:56 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:38:57 DEBUG : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: starting upload
2026/09/10 14:38:58 ERROR : 66641ee576a145bd88117e16508fb2e2.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:58 ERROR : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: failed to upload try #2, will retry in 20s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:38:58 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:38:58 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:39:00 ERROR : e83f43615d9d48259c22c2aed10c00b1.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:00 ERROR : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: failed to upload try #2, will retry in 20s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:16 DEBUG : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: starting upload
2026/09/10 14:39:16 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:39:16 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:39:18 DEBUG : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: starting upload
2026/09/10 14:39:18 ERROR : 4dadcae0f801418da3d9a2cd77645954.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:18 ERROR : 4dadcae0f801418da3d9a2cd77645954.md: vfs cache: failed to upload try #3, will retry in 40s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:19 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:39:19 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:39:20 DEBUG : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: starting upload
2026/09/10 14:39:20 ERROR : 66641ee576a145bd88117e16508fb2e2.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:20 ERROR : 66641ee576a145bd88117e16508fb2e2.md: vfs cache: failed to upload try #3, will retry in 40s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:21 NOTICE: proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422), Attempt 1
2026/09/10 14:39:21 ERROR : proton drive root link ID '': 422 POST https://drive-api.proton.me/drive/shares/7IIiiXE0ERCZ8RcdA2IZ-1clvyQSdffZGp_Bmoq202CgIzTl7GjM_g6dxWxXo2rPP1UkxiWNBm0FHgjh5CZ9_A==/files: A file or folder with that name already exists (Code=2500, Status=422)
2026/09/10 14:39:23 ERROR : e83f43615d9d48259c22c2aed10c00b1.md: Failed to copy: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
2026/09/10 14:39:23 ERROR : e83f43615d9d48259c22c2aed10c00b1.md: vfs cache: failed to upload try #3, will retry in 40s: vfs cache: failed to transfer file from cache to remote: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft
^C2026/09/10 14:39:35 INFO  : Signal received: interrupt
2026/09/10 14:39:35 DEBUG : 7 go routines active
2026/09/10 14:39:35 INFO  : Exiting...
2026/09/10 14:39:35 NOTICE: Failed to webdav with 9 errors: last error was: a draft exist - usually this means a file is being uploaded at another client, or, there was a failed upload attempt. Can use --protondrive-replace-existing-draft=true to temporarily override the existing draft

maybe try curl -u "***" http://192.168.18.11:8888/Joplin

and could test using rclone

[proton_webdav]
type = webdav
url = http://192.168.18.11:8888
vendor = rclone
user = user
pass = j7Ohue1UiPgNd5yBHPuVKk43GrQ

rclone ls proton_webdav:Joplin -vv
DEBUG : rclone: Version "v1.75.0" starting with parameters ["rclone" "ls" "proton_webdav:Joplin" "-vv"]
DEBUG : Creating backend with remote "proton_webdav:Joplin"
DEBUG : Using config file from "c:\\data\\rclone\\rclone.conf"
DEBUG : found headers:
        0 file.ext