copyparty/bin
2021-06-20 17:44:24 +02:00
..
mtag add multitag example 2021-05-29 03:43:30 +02:00
copyparty-fuse-streaming.py rem 2021-02-04 01:00:41 +01:00
copyparty-fuse.py fuse-client: print python version 2021-06-08 20:19:51 +02:00
copyparty-fuseb.py dodge python-bug #7980 2020-12-01 23:20:44 +01:00
dbtool.py upgrade dbtool for v4 2021-06-20 17:44:24 +02:00
README.md add dbtool 2021-05-30 16:49:08 +00:00
up2k.sh 1234 too popular 2020-06-24 23:52:42 +00:00

copyparty-fuse.py

  • mount a copyparty server as a local filesystem (read-only)
  • supports Windows! -- expect 194 MiB/s sequential read
  • supports Linux -- expect 117 MiB/s sequential read
  • supports macos -- expect 85 MiB/s sequential read

filecache is default-on for windows and macos;

  • macos readsize is 64kB, so speed ~32 MiB/s without the cache
  • windows readsize varies by software; explorer=1M, pv=32k

note that copyparty should run with -ed to enable dotfiles (hidden otherwise)

also consider using ../docs/rclone.md instead for 5x performance

to run this on windows:

  • install winfsp and python 3
    • add python 3.x to PATH (it asks during install)
  • python -m pip install --user fusepy
  • python ./copyparty-fuse.py n: http://192.168.1.69:3923/

10% faster in msys2, 700% faster if debug prints are enabled:

  • pacman -S mingw64/mingw-w64-x86_64-python{,-pip}
  • /mingw64/bin/python3 -m pip install --user fusepy
  • /mingw64/bin/python3 ./copyparty-fuse.py [...]

you could replace winfsp with dokan, let me know if you figure out how
(winfsp's sshfs leaks, doesn't look like winfsp itself does, should be fine)

copyparty-fuse🅱.py

  • mount a copyparty server as a local filesystem (read-only)
  • does the same thing except more correct, samba approves
  • supports Linux -- expect 18 MiB/s (wait what)
  • supports Macos -- probably

copyparty-fuse-streaming.py

  • pretend this doesn't exist

mtag/

  • standalone programs which perform misc. file analysis
  • copyparty can Popen programs like these during file indexing to collect additional metadata

dbtool.py

upgrade utility which can show db info and help transfer data between databases, for example when a new version of copyparty recommends to wipe the DB and reindex because it now collects additional metadata during analysis, but you have some really expensive -mtp parsers and want to copy over the tags from the old db

for that example (upgrading to v0.11.0), first move the old db aside, launch copyparty, let it rebuild the db until the point where it starts running mtp (colored messages as it adds the mtp tags), then CTRL-C and patch in the old mtp tags from the old db instead

so assuming you have -mtp parsers to provide the tags key and .bpm:

~/bin/dbtool.py -ls up2k.db
~/bin/dbtool.py -src up2k.db.v0.10.22 up2k.db -cmp
~/bin/dbtool.py -src up2k.db.v0.10.22 up2k.db -rm-mtp-flag -copy key
~/bin/dbtool.py -src up2k.db.v0.10.22 up2k.db -rm-mtp-flag -copy .bpm -vac