WebdavS over net optimization tips?

Wasn't sure if it was better to send this inquiry to "Help and Support" or "Howto guides" section.

I was wondering if anyone had optimization tips for serving Webdavs over the net from a "local" endpoint.

The Server on a vps is running a local directory that is Mergerfs on top of rclone gdrive with encryption and chunker layers and using a watch script to upload files in the mergerfs directory to the gdrive endpoint. That all works great and I have no complaints or buffering.

rclone -v:
rclone v1.55.1

  • os/type: linux
  • os/arch: amd64
  • go/version: go1.16.3
  • go/linking: static
  • go/tags: none

I've been leaning towards Webdavs to directly access the files instead of SFTP as i've read it handles random seeks better and I don't have to worry about shell abuse.
I tried to create a test script of running webdavs to access over the net of that local directory:

rclone serve webdav local:/home/user/stuff --user **** --pass *********** --cert\ /home/user/dav/webdavs.crt --key /home/user/dav/webdavs.key --addr :14999

The rclone.conf entry for local is:

[local]
type = local

It works, but I've noticed that there's buffering that is happening in playback a lot.
Since it's working fine for plex with the (Mergerfs/RcloneChunker/RcloneEnc/RcloneGdrive) configuration, I didn't expect I would need to make any extra configurations to directplay over webdavs.

Any thoughts or suggestions?

What are you using to access the webdavs? btw, you don't need the 'local:' config but that isn't your issue.

rclone serve webdav /home/user/stuff --user **** --pass *********** --cert\ /home/user/dav/webdavs.crt --key /home/user/dav/webdavs.key --addr :14999

and a debug log always helps.

I've tried from Gnome files with GVFS and From Windows10 builtin webdav client. they both results in long buffering. I will post a debug log when i get home

I think you've something else going on. I can stream 4k fine over webdavs from google drive. This is my settings.

rclone serve webdav remote-cryptp:Media 
 --addr $IP:5443 \
 --buffer-size 512M \
 --dir-cache-time 485h \
 --log-level INFO \
 --poll-interval 15s \
 --server-read-timeout 4h \
 --server-write-timeout 4h \
 --stats=0 \
 --use-mmap \
 --drive-chunk-size 16M \
 --cache-dir /data2/rclone \
 --vfs-cache-max-size 200g \
 --vfs-cache-max-age 1m  \
 --vfs-cache-mode writes   \
 --vfs-cache-poll-interval 5m \
 --vfs-read-chunk-size-limit 1G \
 --vfs-read-ahead 64M

Some are probably not even necessary. Its been a while since I've actually looked at tuning it and removing stuff. Its just gone through iterations over time. btw, I have caddy infront rather than use the certs in rclone. caddy handles that instead and reverse proxies. But that should be fairly the same.

**a debug log would help. :slight_smile: **

Here's the webdav debug log when connecting via win10. Maybe I was wrong on it working before, I had tried multiple workstations. I will include a debug log with a linux client connecting in a bit:

---------------WIN10
2021/07/09 16:47:42 DEBUG : Using config file from "/home/user/.rclone.conf"
2021/07/09 16:47:42 DEBUG : rclone: Version "v1.55.1" starting with parameters ["rclone" "serve" "webdav" "local:/home/user" "--user" "Gfish" "--pass" "****" "--cert" "/home/user/davcert/webdav.crt" "--key" "/home/user/davcert/webdav.key" "--addr" ":14789" "--log-file=webdav.log" "--log-level" "DEBUG"]
2021/07/09 16:47:42 DEBUG : Creating backend with remote "local:/home/user"
2021/07/09 16:47:42 DEBUG : fs cache: renaming cache item "local:/home/user" to be canonical "/home/user"
2021/07/09 16:47:42 INFO : Local file system at /home/user: poll-interval is not supported by this remote
2021/07/09 16:47:42 INFO : Using --user Gfish --pass XXXX as authenticated user
2021/07/09 16:47:42 NOTICE: Local file system at /home/user: WebDav Server started on https://[::]:14789/
2021/07/09 16:49:19 http2: server: error reading preface from client 23.123.222.112:50184: read tcp 185.207.177.12:14789->23.123.222.112:50184: read: connection reset by peer
2021/07/09 16:49:20 http2: server: error reading preface from client 23.123.222.112:50185: read tcp 185.207.177.12:14789->23.123.222.112:50185: read: connection reset by peer
2021/07/09 16:49:20 http2: server: error reading preface from client 23.123.222.112:50186: read tcp 185.207.177.12:14789->23.123.222.112:50186: read: connection reset by peer
2021/07/09 16:49:21 http2: server: error reading preface from client 23.123.222.112:50187: read tcp 185.207.177.12:14789->23.123.222.112:50187: read: connection reset by peer
2021/07/09 16:49:21 http2: server: error reading preface from client 23.123.222.112:50188: read tcp 185.207.177.12:14789->23.123.222.112:50188: read: connection reset by peer
2021/07/09 16:49:22 http2: server: error reading preface from client 23.123.222.112:50189: read tcp 185.207.177.12:14789->23.123.222.112:50189: read: connection reset by peer
2021/07/09 16:49:22 http: TLS handshake error from 23.123.222.112:50190: EOF

I dunno what happened.. Maybe a reboot fixed something somewhere. Buffering seems to be resolved except for initial playback where it takes 30 seconds to load at first and whatever the issue is with the win10 client:

Attached log for when connecting through Gnome GVFS and VLC:
webdavloggvfs.log (570.6 KB)

Any thoughts on how to get it to work with win10?

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.