Skip to content

Releases: 9001/copyparty

700+

01 Jun 23:59
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • keep tags when transcoding music to opus/mp3 07ea629
    • useful for batch-downloading folders with on-the-fly transcoding
    • excessively large tags will be individually dropped (traktor beatmaps, cover-art, xmp)

bugfixes

  • optimization for large amounts (700+) of tcp connections / clients 07b2bf1
    • select() was used for non-https downloads and mdns/ssdp initialization, which would start spinning at more than 1024 FDs, so now they poll() when possible (so not on windows)
    • default max number of connections on windows was lowered to 486 since windows maxes out at 512 FDs
  • the markdown editor autoindent would duplicate <hr> 692175f

other changes

  • #83: more intuitive behavior for --df and the df volflag 5ad6545
  • print helpful warning if OS restrictions make it impossible to persist config b629d18
  • censor filesystem paths in the download-as-zip error summary 5919607
  • u2c.exe: explain that https is disabled bef9617
  • ux: 60c96f9
    • hide lightbox buttons when a video is playing
    • move audio seekbar text down a bit so it hides less of the waveform and minute-markers
  • updated dompurify to 3.1.5 f00b939
  • updated docker images to alpine 3.20

💾 what to download?

download link is it good? description
copyparty-sfx.py ✅ the best 👍 runs anywhere! only needs python
a docker image it's ok good if you prefer docker 🐋
copyparty.exe ⚠️ acceptable for win8 or later; built-in thumbnailer
u2c.exe ⚠️ acceptable CLI uploader as a win7+ exe (video)
copyparty.pyz ⚠️ acceptable similar to the regular sfx, mostly worse
copyparty32.exe ⛔️ dangerous for win7 -- never expose to the internet!
cpp-winpe64.exe ⛔️ dangerous runs on 64bit WinPE, otherwise useless
  • except for u2c.exe, all of the options above are mostly equivalent
  • the zip and tar.gz files below are just source code
  • python packages are available at PyPI

s3xmodit.zip

10 May 15:19
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • play compressed s3xmodit chiptunes/modules c046627
    • can now read gz/xz/zip-compressed s3m/xm/mod/it songs
    • new filetypes supported: mdz, mdgz, mdxz, s3z, s3gz, s3xz, xmz, xmgz, xmxz, itz, itgz, itxz
    • and if you need to fit even more tracks on the mixtape, try mo3
  • option to batch-convert audio waveforms 38e4fdf
  • volflag to improve audio waveform compression with pngquant 82ce686
  • option to add or change mappings from file-extensions to mimetypes 560d7b6
  • export and publish the --help text for online viewing 560d7b6
    • now available as html and as plaintext, includes many features not documented in the readme
  • another way to add your own UI translations 19d156f

bugfixes

  • ensure OS signals are immediately received and processed 87c60a1
    • things like reload and shutdown signals from systemd could get lost/stuck
  • fix mimetype detection for uppercase file extensions 565daee
  • when clicking a .ts file in the gridview, don't open it as text 925c7f0
    • ...as it's probably an mpeg transport-stream, not a typescript file
  • be less aggressive in dropping volume caches e396c5c
    • very minor performance gain, only really relevant if you're doing something like burning a copyparty volume onto a CD
    • previously, adding or removing any volume at all was enough to drop covers cache for all volumes; now this only happens if an intersecting volume is added/removed

other changes

  • updated dompurify to 3.1.2 566cbb6
  • opengraph: add the full filename as url suffix 5c1e239
    • so discord picks a good filename when saving an image

⚠️ not the latest version!

ctrl-v

06 May 01:22
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • upload files by ctrl-c from OS and ctrl-v into browser c5f7cfc
    • from just about any file manager (windows explorer, thunar on linux, etc.) into the copyparty web-ui
    • only files, not folders, so drag-drop is still the recommended way
  • empty folders show an "empty folder" banner fdda567
  • opengraph / discord embeds ea270ab 36f2c44 48a6789 b15a4ef
    • embeds audio with covers , images , videos , audio without coverart (links to one of the copyparty demoservers where the feature is enabled; link those in discord to test)
    • images are currently not rendering correctly once clicked on android-discord (works on ios and in browser)
    • default-disabled because opengraph disables hotlinking by design
  • add option to support base64-encoded url queries parceled into the url location 69517e4
    • because android-specific discord bugs prevent the use of queries in opengraph tags
  • improve server performance when downloading unfinished uploads, especially on slow storage 70a3cf3
  • add dynamic content into <head> using --html-head which now takes files and/or jinja templates as input b6cf2d3
  • --au-vol (default 50, same as before) sets default audio volume in percent da091ae
  • add copyparty.pyz buildscript 27485a4
  • support ie4 and the version of winzip you'd find on an average windows 3.11 pc 603d0ed

bugfixes

  • when logging in from the 403 page, remember and apply the original url hash f849197
  • the config-reset button in the control-panel didn't clear the dotfiles preference bc2c1e4
  • the search feature could discover and use stale indexes in volumes where indexing was since disabled 95d9e69
  • when in doubt, periodically recheck if filesystems support sparse files f6e693f
    • reduces opportunities for confusion on servers with removable media (usb flashdrives)

this release introduces copyparty.pyz, yet another way to bring copyparty where it's needed -- very limited and with many drawbacks (see readme) but may work when the others don't


⚠️ not the latest version!

race the beam

20 Apr 22:59
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • files can be downloaded before the upload has completed ("almost like peer-to-peer")
    • watch the release trailer 👌
    • if the downloader catches up with the upload, the speed is gradually slowed down so it never runs ahead
    • can be disabled with --no-pipe
  • option --no-db-ip disables storing the uploader IP in the database bf58507
  • u2c (cli uploader): option --ow to overwrite existing files on the server 439cb7f

bugfixes

  • when running on windows, using the web-UI to abort an upload could fail 8c552f1
  • rapidly PUT-uploading and then deleting files could crash the file hasher feecb3e

⚠️ not the latest version!

ie11 fix

12 Apr 21:46
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • new option --bauth-last for when you're hosting other basic-auth services on the same domain 7b94e4e
    • makes it possible to log into copyparty as intended, but it still sees the passwords from the other service until you do
    • alternatively, the other new option --no-bauth entirely disables basic-auth support, but that also kills the android app

bugfixes

  • internet explorer isn't working?! FIX IT!!! 9e5253e
  • audio transcoding was buggy with filekeys enabled b873365
  • on windows, theoretical chance that antivirus could interrupt renaming files, so preemptively guard against that c8e3ed3

other changes


⚠️ not the latest version!

scrolling stuff

10 Apr 00:08
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • while viewing pictures/videos, the scrollwheel can be used to view the prev/next file 844d16b

bugfixes

  • #81 (scrolling suddenly getting disabled) properly fixed after @icxes found another way to reproduce it (thx) 4f0cad5
  • and fixed at least one javascript glitch introduced in v1.12.0 while adding dirkeys 989cc61
    • directory tree sidebar could fail to render when popping browser history into the lightbox

other changes

  • music preloader is slightly less hyper f89de6b
  • u2c.exe: updated TLS-certs and deps ab18893

⚠️ not the latest version!

locksmith

06 Apr 20:58
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • #64 dirkeys; option to auto-generate passwords for folders, so you can give someone a link to a specific folder inside a volume without sharing the rest of the volume 10bc2d9 32c912b ef52e2c 0ae1286
    • enabled by volflag dk (exact folder only) and/or volflag dks (also subfolders); see readme
  • audio transcoding to mp3 if browser doesn't support opus a080759
    • recursively transcode and download a folder using ?tar&mp3
    • accidentally adds support for playing just about any audio format in ie11
  • audio equalizer also applies to videos 7744226

bugfixes

  • #81 scrolling could break after viewing an image in the lightbox 9c42cbe
  • on phones, audio playback could stop if network is slow/unreliable 59f815f b88cc7b 59a53ba

other changes

  • updated dompurify to 3.0.11
  • copyparty.exe: updated to python 3.11.9
  • support for building with pyoxidizer was removed 5ab5476

⚠️ not the latest version!

public idp volumes

23 Mar 18:00
Compare
Choose a tag to compare

there is a discord server with an @everyone in case of future important updates, such as vulnerabilities (most recently 2023-07-23)

new features

  • global-option --iobuf to set a custom I/O buffersize 2b24c50

    • changes the default buffersize to 256 KiB everywhere (was a mix of 64 and 512)
    • may improve performance of networked volumes (s3 etc.) if increased
    • on gbit networks: download-as-tar is now up to 20% faster
    • slightly faster FTP and TFTP too
  • global-option --s-rd-sz to set a custom read-size for sockets c6acd3a

    • changes the default from 32 to 256 KiB
    • may improve performance of networked volumes (s3 etc.) if increased
    • on 10gbit networks: uploading large files is now up to 17% faster
  • add url parameter ?replace to overwrite any existing files with a multipart-post c6acd3a

bugfixes

  • #79 idp volumes (introduced in v1.11.0) would only accept permissions for the user that owned the volume; was impossible to grant read/write-access to other users d30ae84

other changes


⚠️ not the latest version!

dont ban the pipes

18 Mar 17:45
Compare
Choose a tag to compare

the previous release had all the fun new features... this one's just bugfixes

no vulnerabilities since 2023-07-23

bugfixes

  • less aggressive rejection of requests from banned IPs 51d3158
    • clients would get kicked before the header was parsed (which contains the xff header), meaning the server could become inaccessible to everyone if the reverse-proxy itself were to "somehow" get banned
      • ...which can happen if a server behind cloudflare also accepts non-cloudflare connections, meaning the client IP would not be resolved, and it'll ban the LAN IP instead heh
        • that part still happens, but now it won't affect legit clients through the intended route
    • the old behavior can be restored with --early-ban to save some cycles, and/or avoid slowloris somewhat
  • the unpost feature could appear to be disabled on servers where no volume was mapped to / 0287c7b
  • python 3.12 support for compiling the dependencies necessary to detect bpm/key in audio files 32553e4

other changes


⚠️ not the latest version!

You Can (Not) Proceed

15 Mar 21:43
Compare
Choose a tag to compare

this release was made possible by stoltzekleiven, kvikklunsj, and tako

no vulnerabilities since 2023-07-23

new features

  • #62 support for identity providers and automatically creating volumes for each user/group ("home folders")
    • login with passkeys / fido2 / webauthn / yubikey / ldap / active directory / oauth / many other single-sign-on contraptions
    • documentation and examples could still use some help (I did my best)
  • #77 UI to cancel unfinished uploads (available in the 🧯 unpost tab) 3f05b66
    • the user's IP and username must match the upload by default; can be changed with global-option / volflag u2abort
  • new volflag sparse to pretend sparse files are supported even if the filesystem doesn't 8785d2f
    • gives drastically better performance when writing to s3 buckets through juicefs/geesefs
    • only for when you know the filesystem can deal with it (so juicefs/geesefs is OK, but definitely not fat32)
  • --xff-src and --ipa now support CIDR notation (but the old syntax still works) b377791
  • ux:
    • #74 option to use custom fonts 263adec 6cc7101 8016e67
    • option to disable autoplay when page url contains a song hash 8413ed6
      • good if you're using copyparty to listen to music at the office and the office policy is to have the webbrowser automatically restart to install updates, meaning your coworkers are suddenly and involuntarily enjoying some loud af jcore while you're asleep at home

bugfixes

  • don't panic if cloudflare (or another reverse-proxy) decides to hijack json responses and replace them with html 7741870
  • #73 the fancy markdown editor was incompatible with caddy (a reverse-proxy) ac96fd9
  • media player could get confused if neighboring folders had songs with the same filenames 206af8f
  • benign race condition in the config reloader (could only be triggered by admins and/or SIGUSR1) 096de50
  • running tftp with optimizations enabled would cause issues for --ipa b377791
  • cosmetic tftp bugs 115020b
  • ux:
    • up2k rendering glitch if the last couple uploads were dupes 547a486
    • up2k rendering glitch when switching between readonly/writeonly folders 51a83b0
    • markdown editor preview was glitchy on tiny screens e558260

other changes

  • add a sharex v12.1 config example 2527e90
  • make it easier to discover/diagnose issues with docker and/or reverse-proxy config d744f3f
  • stop recommending the use of --xff-src=any in the log messages 7f08f10
  • ux:
    • remove the k304 togglebutton in the controlpanel by default 1c011ff
    • mention that a full restart is required for [global] config changes to take effect 0c03921
  • docs e78af02
  • copyparty.exe: updated pyinstaller to 6.5.0 bdbcbbb

⚠️ not the latest version!