Releases: 9001/copyparty
Releases · 9001/copyparty
NO_COLOR
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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
- for example
- 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
- mostly good for LAN, requires cfssl, can be disabled with
- 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
- all existing installations will keep the previously selected seed -- you can choose to upgrade by deleting
- the
NO_COLOR
environment-variable is now supported, removing colors from stdout- see https://no-color.org/ and more importantly https://youtu.be/biW5UVGkPMA?t=150
--ansi
and--no-ansi
can also be used to force-enable/disable colored output
- #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
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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
- left-align
⚠️ not the latest version!
CräzY;PWDs
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
new features
- webdav:
- support write-only folders
- option
--dav-auth
/ volflagdavauth
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
- helps clients such as
- 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.pyu2c
as inup2k client
, orup2k CLI
, orupload-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 begot rebuilt 2023-05-11in a few days (when alpine 3.18 is released)enabling the chiptune player
⚠️ not the latest version!
unlinked
don't get excited! nothing new and revolutionary, but xvol
and xdev
changed behavior so there's an above-average chance of fresh bugs
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
new features
- (#24):
xvol
andxdev
, 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
- so if you symlink
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
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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 volflagdavrt
- 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!)
- with nginx/caddy/etc you can disable the timeout with
- 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
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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
- defaults to
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
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
new features
- @chinponya made a copyparty Nix package and a NixOS module! nice 🎉
- with systemd-based hardening instead of prisonparty
- complements the arch package very well w
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)
- the only software i've ever seen do that now works as intended
- expand
~/
filesystem paths in all remaining args:-c
,-lo
,--hist
,--ssl-log
, and thehist
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
- added windows quickstart / service example
- updated pyinstaller (it makes smaller exe files now)
⚠️ not the latest version!
not joke
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
new features
- new event-hook: exif stripper
- markdown thumbnails -- see readme
- soon: support for web-scrobbler - the Last.fm browser extension
- will update here + readme with more info when the v3 is out
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!
- does cool stuff such as bidirectional sync between copyparty and a local folder
- 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
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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
- arg
- 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