3.2 KiB
using rclone to mount a remote copyparty server as a local filesystem
speed estimates with server and client on the same win10 machine:
1070 MiB/s
with rclone as both server and client570 MiB/s
with rclone-client andcopyparty -ed -j16
as server220 MiB/s
with rclone-client andcopyparty -ed
as server100 MiB/s
with ../bin/partyfuse.py as client
when server is on another machine (1gbit LAN),
75 MiB/s
with ../bin/partyfuse.py as client92 MiB/s
with rclone-client andcopyparty -ed
as server103 MiB/s
(connection max) withcopyparty -ed -j16
and all the others
creating the config file
the copyparty "connect" page at /?hc
(so for example http://127.0.0.1:3923/?hc) will generate commands to autoconfigure rclone for your server
if you prefer to configure rclone manually, continue reading:
replace hunter2
with your password, or remove the hunter2
lines if you allow anonymous access
on windows clients:
(
echo [cpp-rw]
echo type = webdav
echo vendor = owncloud
echo url = http://127.0.0.1:3923/
echo headers = Cookie,cppwd=hunter2
echo pacer_min_sleep = 0.01ms
echo(
echo [cpp-ro]
echo type = http
echo url = http://127.0.0.1:3923/
echo headers = Cookie,cppwd=hunter2
echo pacer_min_sleep = 0.01ms
) > %userprofile%\.config\rclone\rclone.conf
also install the windows dependencies: winfsp
on unix clients:
cat > ~/.config/rclone/rclone.conf <<'EOF'
[cpp-rw]
type = webdav
vendor = owncloud
url = http://127.0.0.1:3923/
headers = Cookie,cppwd=hunter2
pacer_min_sleep = 0.01ms
[cpp-ro]
type = http
url = http://127.0.0.1:3923/
headers = Cookie,cppwd=hunter2
pacer_min_sleep = 0.01ms
EOF
mounting the copyparty server locally
connect to cpp-rw:
for read-write, or cpp-ro:
for read-only (twice as fast):
rclone.exe mount --vfs-cache-mode writes --vfs-cache-max-age 5s --attr-timeout 5s --dir-cache-time 5s cpp-rw: W:
sync folders to/from copyparty
note that the up2k client u2c.py (available on the "connect" page of your copyparty server) does uploads much faster and safer, but rclone is bidirectional and more ubiquitous
rclone sync /usr/share/icons/ cpp-rw:fds/
use rclone as server too, replacing copyparty
feels out of place but is too good not to mention
rclone.exe serve http --read-only .
rclone.exe serve webdav .
devnotes
copyparty supports and expects the following from rclone,
case "owncloud":
f.canStream = true
f.precision = time.Second
f.useOCMtime = true
f.hasOCMD5 = true
f.hasOCSHA1 = true
notably,
useOCMtime
enables thex-oc-mtime
header to retain mtime of uploads from rclonecanStream
is supported but not required by ushasOCMD5
/hasOCSHA1
is conveniently dontcare on both ends
there's a scary comment mentioning PROPSET of lastmodified which is not something we wish to support
and if vendor=owncloud
ever stops working, try vendor=fastmail
instead