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

curl -u "brian:brian@trillian" http://127.0.0.1:8888/Joplin
Crashes the server

brian@Trillian:~$ systemctl start rclone-proton-drive
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Authentication is required to start 'rclone-proton-drive.service'.
Multiple identities can be used for authentication:
 1.  brian,,, (brian)
 2.  ,,, (borg)
Choose identity to authenticate as (1-2): 1
Password: 
==== AUTHENTICATION COMPLETE ====
brian@Trillian:~$ systemctl status rclone-proton-drive
● rclone-proton-drive.service - Rclone Proton Drive service
     Loaded: loaded (/etc/systemd/system/rclone-proton-drive.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-09-11 12:59:11 BST; 4s ago
   Main PID: 156695 (rclone-server)
      Tasks: 9 (limit: 18948)
     Memory: 15.4M (peak: 15.8M)
        CPU: 130ms
     CGroup: /system.slice/rclone-proton-drive.service
             β”œβ”€156695 /bin/bash /home/brian/bin/rclone-server
             └─156696 rclone serve webdav --vfs-cache-mode full --addr 192.168.18.11:8888 --use>

Sep 11 12:59:11 Trillian systemd[1]: Started rclone-proton-drive.service - Rclone Proton Drive >
brian@Trillian:~$ curl -u "brian:brian@trillian" http://127.0.0.1:8888/Joplin
curl: (7) Failed to connect to 127.0.0.1 port 8888 after 0 ms: Couldn't connect to server
brian@Trillian:~$ systemctl status rclone-proton-drive
Γ— rclone-proton-drive.service - Rclone Proton Drive service
     Loaded: loaded (/etc/systemd/system/rclone-proton-drive.service; enabled; preset: enabled)
     Active: failed (Result: exit-code) since Fri 2026-09-11 12:59:19 BST; 1min 9s ago
   Duration: 7.547s
    Process: 156695 ExecStart=/home/brian/bin/rclone-server (code=exited, status=1/FAILURE)
   Main PID: 156695 (code=exited, status=1/FAILURE)
        CPU: 677ms

Sep 11 12:59:11 Trillian systemd[1]: Started rclone-proton-drive.service - Rclone Proton Drive >
Sep 11 12:59:19 Trillian rclone[156696]: INFO+2: proton drive root link ID '': 422 POST https:/>
Sep 11 12:59:19 Trillian rclone[156696]: ERROR : proton drive root link ID '': 422 POST https:/>
Sep 11 12:59:19 Trillian rclone[156696]: ERROR+4: Failed to create file system for "Proton:": c>
Sep 11 12:59:19 Trillian systemd[1]: rclone-proton-drive.service: Main process exited, code=exi>
Sep 11 12:59:19 Trillian systemd[1]: rclone-proton-drive.service: Failed with result 'exit-code>

Using rclone, it looks like a configuration error, but I don't know what it needs

brian@Trillian:~$ rclone ls proton_webdav:Joplin -vv
2026/09/11 13:08:23 DEBUG : rclone: Version "v1.76.0-beta.10313.e953cb275.fix-9882-serve-webdav" starting with parameters ["rclone" "ls" "proton_webdav:Joplin" "-vv"]
2026/09/11 13:08:23 DEBUG : Creating backend with remote "proton_webdav:Joplin"
2026/09/11 13:08:23 DEBUG : Using config file from "/home/brian/.config/rclone/rclone.conf"
2026/09/11 13:08:23 CRITICAL: Failed to create file system for "proton_webdav:Joplin": didn't find section in config file ("proton_webdav")

for testing, need to simplify your setup.

  • do not use systemd. run the command on the command line.
  • do all testing use rclone, for the server and for the client. do not use curl
  • make sure simple command work, such as rclone lsd, rclone ls, rclone touch
  • use a debug log, post the debug log.
  • do not use --vfs-cache-mode

Firstly, a reminder that my objective is to have rclone serve webdav with a Proton back end provide data to a 3rd party application, Joplin, whose webdav sync interface is configured with a single URL.

I can mimic this using rclone as both client and server, using this config.

{
    "Proton": {
        "client_access_token": "tiuudtyuyubznnouwfy66gimegx2wula",
        "client_refresh_token": "7zsu4rjxdtm54v7db7kktgoonlfxchtj",
        "client_salted_key_pass": "d2RqNm0vY0lzV29FV0RERVNycUd1bXZxVHZWZ09OdQ==",
        "client_uid": "g6kyxfkcv33bspcic3rum4v7aicis6ph",
        "password": "r6BdyQILDnTnWJIkhDzd2x6NCvntF8W1QzQFj7M",
        "type": "protondrive",
        "username": "***"
    },
    "Test-Webdav": {
        "pass": "mQnrOhCocMEmBkuPM_AJPShXwwoUUUaYHACCWkck",
        "type": "webdav",
        "url": "http://127.0.0.1:8888",
        "user": "***"
    }
}
``` 

The server command line:

rclone serve webdav --log-file $logfile  --dump requests --dump responses -vv --addr 127.0.0.1:8888 --user *** --pass **** Proton:

```

The client command line:

rclone ls  --log-file $logfile --dump requests --dump responses -vv Test-Webdav:/Joplin
```

The client stdout:

2026-09-16T12:27:41+01:00
2026/09/16 12:27:41 NOTICE: Automatically setting -vv as --dump is enabled
     4375 48be7c48cf48410e81d67b5ae5d2b43d.md
      529 4dadcae0f801418da3d9a2cd77645954.md
        0 4th June 2025
     2197 63965c4dd3ed4d6491679d51374cc6da.md
      527 66641ee576a145bd88117e16508fb2e2.md
     4038 7368a0490ab6462f80e8d89d3e0acde0.md
     3201 9ca3e8ac91854e6ea8b64604b184abcb.md
     4180 aa9cb413c5a34369a6196277801d6f04.md
      403 d3c2dfc491964ad386e7e770b9f378cf.md
2026-09-16T12:27:48+01:00
```
Unfortunately, the http request and responses are hidden in both the client and server logs.
```
2026/09/16 12:27:41 DEBUG : HTTP REQUEST (req 0x17a26ff34140)
```
Is there any way to expose this information? It's the only bit of the log I need!

not sure what information you are looking for?

rclone ls proton_webdav:Joplin -vv  --dump=headers --no-traverse 
NOTICE: Automatically setting -vv as --dump is enabled
DEBUG : rclone: Version "v1.75.0" starting with parameters ["c:\\data\\rclone\\rclone" "ls" "proton_webdav:Joplin" "-vv" "--dump=headers" "--no-traverse"]
DEBUG : Creating backend with remote "proton_webdav:Joplin"
DEBUG : Using config file from "c:\\data\\rclone\\rclone.conf"
DEBUG : found headers: 
DEBUG : You have specified to dump information. Please be noted that the Accept-Encoding as shown may not be correct in the request and the response may not show Content-Encoding if the go standard libraries auto gzip encoding was in effect. In this case the body of the request will be gunzipped before showing it.
DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEBUG : HTTP REQUEST (req 0x1b455364a640)
DEBUG : PROPFIND /Joplin HTTP/1.1
Host: 127.0.0.1:8888
User-Agent: rclone/v1.75.0
Authorization: XXXX
Depth: 0
Referer: http://127.0.0.1:8888/
Accept-Encoding: gzip

DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DEBUG : HTTP RESPONSE (req 0x1b455364a640)
DEBUG : HTTP/1.1 207 Multi-Status
Accept-Ranges: bytes
Content-Type: text/xml; charset=utf-8
Date: Thu, 17 Sep 2026 16:23:58 GMT
Server: rclone/v1.75.0
Vary: Accept-Encoding

DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEBUG : HTTP REQUEST (req 0x1b4553a22500)
DEBUG : PROPFIND /Joplin/ HTTP/1.1
Host: 127.0.0.1:8888
User-Agent: rclone/v1.75.0
Authorization: XXXX
Depth: 1
Referer: http://127.0.0.1:8888/
Accept-Encoding: gzip

DEBUG : >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
DEBUG : HTTP RESPONSE (req 0x1b4553a22500)
DEBUG : HTTP/1.1 207 Multi-Status
Accept-Ranges: bytes
Content-Type: text/xml; charset=utf-8
Date: Thu, 17 Sep 2026 16:23:58 GMT
Server: rclone/v1.75.0
Vary: Accept-Encoding

DEBUG : <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
       44 file.ext

I'm closing this post. I think the problems I had were to do with Joplin, not rclone.

Many thanks for your help!