Skip to content

Releases: 9001/copyparty

NO_COLOR

11 Jun 09:15
Compare
Choose a tag to compare

new features

  • #31 --grid shows thumbnails instead of file-list by default
  • #28 --unlist regex-exclude files from browser listings
    • for example --unlist '\.(js|css)$' hides all .js and .css files
    • purely cosmetic! the files are still fully accessible, and still appear in API calls
  • auto-generate TLS certificates on startup / network-change
    • mostly good for LAN, requires cfssl, can be disabled with --no-crt
    • creates a self-signed CA and certs with SANs of all detected server IPs
      • so it's still recommended to use a reverse-proxy / letsencrypt for WAN servers
  • the default --fk-salt is now much stronger
    • all existing installations will keep the previously selected seed -- you can choose to upgrade by deleting ~/.config/copyparty/cert.pem but this will change all filekeys / per-file passwords
  • the NO_COLOR environment-variable is now supported, removing colors from stdout
  • #33 disable colors when stdout is redirected to a pipe/file -- by @clach04
  • #32 simplify building sfx from source
  • upgraded copyparty.exe to python 3.11.4

bugfixes

  • #30 --ftps didn't work without --ftp
  • tiny css bug in light themes (opaque thumbnail controls)

⚠️ not the latest version!

hard resolve

13 May 00:50
Compare
Choose a tag to compare

new features

  • print a warning if c:\, c:\windows*, or all of / are shared
  • upgraded the docker image to v3.18 which enables the chiptune player
  • in config files, allow trailing : in section headers

bugfixes

  • when --hardlink (or the volflag) is set, resolve symlinks before hardlinking
    • uploads could fail due to relative symlinks
  • really minor ux fixes
    • left-align GET in access logs
    • the upload panel didn't always shrink back down after uploads completed

⚠️ not the latest version!

CräzY;PWDs

07 May 19:53
Compare
Choose a tag to compare

new features

  • webdav:
    • support write-only folders
    • option --dav-auth / volflag davauth forces clients to always auth
      • helps clients such as davfs2 see all folders if the root is anon-readable but some subfolders are not
      • alternatively you could configure your client to always send the password in the PW header
  • include usernames in http request logs
  • audio player:
    • consumes less power on phones when the screen is off
    • smoother playback cursor on short songs

bugfixes

  • the characters ; and % can now be used in passwords
    • but non-ascii characters (such as the ä in the release title) can, in fact, not
  • verify that all accounts have unique passwords on startup (#25)

other changes

  • ftpd: log incorrect passwords only, not correct ones
  • up2k.py (the upload, folder-sync, and file-search client) has been renamed to u2c.py
    • u2c as in up2k client, or up2k CLI, or upload-to-copyparty -- good name
    • now the only things named "up2k" are the web-ui and the server backend which is way less confusing
  • upgrade packaging from setup.py to pyproject.toml
    • no practical consequences aside from a warm fuzzy feeling of being in the future
  • the docker images will be got rebuilt 2023-05-11 in a few days (when alpine 3.18 is released) enabling the chiptune player

⚠️ not the latest version!

unlinked

29 Apr 22:42
Compare
Choose a tag to compare

don't get excited! nothing new and revolutionary, but xvol and xdev changed behavior so there's an above-average chance of fresh bugs

new features

  • (#24): xvol and xdev, previously just hints to the filesystem indexer, now actively block access as well:
    • xvol stops users following symlinks leaving the volumes they have access to
      • so if you symlink /home/ed/music into /srv/www/music it'll get blocked
      • ...unless both folders are accessible through volumes, and the user has read-access to both
    • xdev stops users crossing the filesystem boundary of the volumes they have access to
      • so if you symlink another HDD into a volume it'll get blocked, but you can still symlink from other places on the same FS
    • enabling these will add a slight performance hit; the unlikely worst-case is 14% slower directory listings, 35% slower download-as-tar
  • file selection summary (num files, size, audio duration) in the bottom right
  • u2cli: more aggressive resolving with --rh
  • add a warning that the default powersave settings in android may stop playing music during album changes
    • also appears in the media player if the issue is detected at runtime (playback halts for 30sec while screen is off)

bugfixes

  • (#23): stop autodeleting empty folders when moving or deleting files
    • but files which expire / self-destruct still clean up parent directories like before
  • ftp-server: some clients could fail to mkdir at first attempt (and also complain during rmdir)

other changes

  • new version of cpp-winpe64.exe since the ftp-server fix might be relevant

⚠️ not the latest version!

unexpected boost

27 Apr 01:05
Compare
Choose a tag to compare

new features

  • 30% faster folder listings due to the very last thing i'd ever expect to be a bottleneck, thx perf
  • option to see the lastmod timestamps of symlinks instead of the target files
    • makes the turbo mode of u2cli, the commandline uploader and folder-sync tool more turbo since copyparty dedupes uploads by symlinking to an existing copy and the symlink is stamped with the deduped file's lastmod
    • webdav: enabled by default (because rclone will want this), can be disabled with arg --dav-rt or volflag davrt
    • http: disabled by default, can be enabled per-request with urlparam lt
  • u2cli: option --rh to resolve server hostname only once at start of upload
    • fantastic for buggy networks, but it'll break TLS

bugfixes

  • new arg --s-tbody specifies the network timeout before a dead connection gets dropped (default 3min)
    • before there was no timeout at all, which could hang uploads or possibly consume all server resources
    • ...but this is only relevant if your copyparty is directly exposed to the internet with no reverse proxy
      • with nginx/caddy/etc you can disable the timeout with --s-tbody 0 for a 3% performance boost (wow!)
  • iPhone audio transcoder could turn bad and stop transcoding
  • maybe android phones no longer pause playback at the end of an album
    • nope, that was due to android's powersaver, oh well
    • bonus unintended feature: navigate into other folders while a song is plaing
  • installing from the source tarball should be ok now
    • good base for making distro packages probably

other changes

  • since the network timeout fix is relevant for the single usecase that cpp-winpe64.exe covers, there is now a new version of that

⚠️ not the latest version!

unsettable flags

24 Apr 07:56
Compare
Choose a tag to compare

new features

  • unset a volflag (override a global option) by negating it (setting volflag -flagname)
  • new argument --cert to specify TLS certificate location
    • defaults to ~/.config/copyparty/cert.pem like before

bugfixes

  • in zip/tar downloads, always use the parent-folder name as the archive root
  • more reliable ftp authentication when providing password as username
  • connect-page: fix rclone ftps example

other changes

  • stop suggesting --http-only and --https-only for performance since the difference is negligible
  • mention how some antivirus (avast, avg, mcafee) thinks that pillow's webp encoder is a virus, affecting copyparty.exe

⚠️ not the latest version!

as seen on nixos

20 Apr 23:17
Compare
Choose a tag to compare

new features

bugfixes

  • fix an sqlite fd leak
    • with enough simultaneous traffic, copyparty could run out of file descriptors since it relied on the gc to close sqlite cursors
    • now there's a pool of cursors shared between the tcp connections instead, limited to the number of CPU cores
    • performance mostly unaffected (or slightly improved) compared to before, except for a 20% reduction only during max server load caused by directory-listings or searches
    • somehow explicitly closing the cursors didn't always work... maybe this was actually a python bug :\/
      • yes, it does incomplete cleanup if opening a WAL database fails
  • multirange requests would fail with an error; now they get a 200 as expected (since they're kinda useless and not worth the overhead)
  • expand ~/ filesystem paths in all remaining args: -c, -lo, --hist, --ssl-log, and the hist volflag
  • never use IPv6-format IPv4 (::ffff:127.0.0.1) in responses
  • u2cli: don't enter delete stage if some of the uploads failed
  • audio player in safari on touchbar macbooks
    • songs would play backwards because the touchbar keeps spamming play/pause
    • playback would stop when the preloader kicks in because safari sees the new audio object and freaks out

other changes


⚠️ not the latest version!

not joke

01 Apr 23:25
Compare
Choose a tag to compare

new features

bugfixes

  • more sqlite query-planner twiddling
    • deleting files is MUCH faster now, and uploads / bootup might be a bit better too
  • webdav optimizations / compliance
    • should make some webdav clients run faster than before
    • in very related news, the webdav-client in rclone v1.63 (currently beta) will be FAST!
  • bpm detector is a bit more accurate
  • u2cli / commandline uploader: better error messages if something goes wrong
  • readme rendering could fail in firefox if certain addons were installed (not sure which)
  • event-hooks: more accurate usage examples

other changes

  • @chinponya automated the prismjs build step (thx!)
  • updated some js deps (markedjs, codemirror)
  • copyparty.exe: updated Pillow to 9.5.0
  • and finally the joke (looks like this)

⚠️ not the latest version!

rclone sync

20 Mar 23:59
Compare
Choose a tag to compare

new features

  • iPhone "app" (upload shortcut) -- thanks @Daedren !
    • can strip exif, upload files, pics, vids, links, clipboard
    • can download links and rehost the target file on your server
  • support rclone sync to sync folders to/from copyparty
    • let webdav clients set lastmodified times during upload
    • let webdav clients replace files during upload

bugfixes

  • prisonparty: FFmpeg transcoding was slow because there was no /dev/urandom
  • iphones would fail to play some songs (low-bitrate and/or shorter than ~7 seconds)
    • due to either an iOS bug or an FFmpeg bug in the caf remuxing idk
    • fixed by mixing in white noise into songs if an iPhone asks for them
  • small correction in the docker readme regarding rootless podman

⚠️ not the latest version!

index.html

16 Mar 22:53
Compare
Choose a tag to compare

new features

  • option to show index.html instead of the folder listing
    • arg --ih makes it default-enabled
    • clients can enable/disable it in the [⚙️] settings tab
    • url-param ?v skips it for a particular folder
  • faster folder-thumbnail validation on startup (mostly on conventional HDDs)

bugfixes

  • "load more" button didn't always show up when search results got truncated
  • ux: tooltips could block buttons on android

⚠️ not the latest version!