Skip to content

copyparty

File Storage & Sync

Turn almost any device into a versatile, browser‑based file server supporting multiple protocols and resumable transfers.

Python Latest v1.20.16 · 8d ago Security brief →

Features

  • Supports HTTP(S), WebDAV, SFTP, FTP(S), TFTP, SMB/CIFS for file sharing
  • Resumable uploads/downloads from any web browser
  • Android app and iOS shortcuts integration
  • Rich UI with search, zip downloads, markdown viewer, media player

Recent releases

View all 16 releases →
Review required
v1.20.16 Breaking risk
Auth

OPDS, shares, s6, spectrogram, ffmpeg, mka

v1.20.14 Breaking risk
Breaking changes
  • Environment variable expansion now requires ${VAR} syntax
  • Config with old $VAR or %VAR% syntax will crash on startup
Security fixes
  • CVE-2026-27948
Notable features
  • Environment variable expansion in config
  • Auto language selection (--glang)
  • List/grid view switching
Full changelog

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

recent important news

🧪 new features

  • #1410 #376 #1224 new option --glang to autoselect UI-translation based on webbrowser's language (thx @stackxp!) ec3e0e7e
  • #1407 #1384 option to automatically switch between list-view and grid-view depending on folder contents (thx @icxes!) 822fa718 660ed7a9 961a2737
  • #1447 audioplayer can now play bcstm / bfstm / brstm files (nintendo 3ds/wii bgm) 3a9ff67a
  • #1389 add 1000-based filesize-units in addition to 1024-based 43773f2c
  • #1395 reloc-by-wark, a pair of hooks to rename incoming uploads to a hash of the file contents 1e7de5d1
  • option --rlo to change the logrotate-counter for -lo 8b986888
  • add --certkey to specify certificate and key as separate files 8c7cdf85
  • config-files can now use OS environment-variables anywhere in the [global] config section cbd82b65 e52bbed8
    • by default, only the syntax ${VAR} is supported, not $VAR or %VAR%
    • previously, a small handful of global-options already supported this (c lo hist dbpath ssl_log), but they also supported the $VAR syntax, which is no longer the case
    • if the old $VAR syntax is detected, copyparty will crash on startup, suggesting the following remedies (choose one!) in the log:
      1. update the config-value to the new ${VAR} syntax (recommended)
      2. allow the old syntax with global-option --env-expand 1 (risky)
      3. ignore the old syntax and only expand the new syntax with global-option --env-expand 2
      4. disable all environment-variable expansions with PRTY_NO_ENVEXPAND=1

🩹 bugfixes

  • #1437 webdav clients can now PROPFIND a file with depth: infinite which at least webdav4 does e00f2b46
  • #1392 navigating into a subfolder using a dks dirkey (default-disabled) could fail 228c3dfa
  • #1446 #1330 #1362 fix some small edgecases with the rightclick-menu (thx @icxes!) 874e0e7a
  • #1403 #1396 audioplayer: fix ui-crash when folder contains an m3u-file and sort-order is changed during playback (thx @icxes!) 198f631a
  • #1428 #1427 when --magic was enabled, nameless uploads of textfiles would get the file-extension .ssa instead of .txt (thx @Scotsguy!) ed516ddc
  • #1449 on some filesystems, the tail/follow function would spam the log with reopened at byte XXX 81730189
  • #1401 on windows, a spec-violating basic-upload could delay that upload by a few seconds 6fb1287e
  • on macOS, u2c would clear the terminal on exit, even with -ns 238887c7
  • audio-files in a videofile trenchcoat did not thumbnail correctly 1066dc39

🔧 other changes

  • #1387 added gentoo packaging (thx @mid-kid!) fb5384f4
  • #1425 improved FreeBSD / OpenBSD support (thx @chilledfrogs!) f5613187 745d82fa
  • #1352 new handler: fail2ban (thx @Lomaiin!) 26e663d1
  • improve errormessage when the server's OS-HDD blips out of existence d1517d0c
  • #1439 improve IPv6 autoban IP-range (thx @SnowSquire!) f6dc1e29
  • ensure opus transcodes will at most have 2 audio channels (stereo) b31f2902
  • #1417 smb-server: probably add IPv6 support a5d859d2
  • --list-nics and --list-ips to show autodetected network-adapters and IPs 8d4363d1
  • docs:
    • nixos module-override example (thx @Scotsguy!) 0b16e875
    • make it even more obvious that --allow-csrf is a bad idea 9a724b01
    • mention --urlform get to disable message-to-serverlog ac05b4f1
    • readme: improve shadowing phrasing 003c68d0
    • devnotes: explain the vendored dependencies 971f8ef9

🌠 fun facts


💾 what to download?

| download link | is it good? | description |
| -- | -- | -- |
| copyparty-sfx.py | ✅ the best 👍 | runs anywhere! only needs python |
| copyparty-en.py | ✅ also good | same but english-only, no i18n |
| 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 |
| copyparty-en.pyz | ⚠️ acceptable | english-only, no smb-server |
| copyparty32.exe | ⛔️ dangerous | for win7 -- never expose to the internet! |
| cpp-winpe64.exe | ⛔️ dangerous | runs on 64bit WinPE, otherwise useless |
| bootable usb | ┐(゚∀゚)┌ | a surprisingly useful joke (x86_64) |

  • 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
v1.20.13 New feature
Notable features
  • .hidden file filtering for directory listings
  • Thumbnail pregeneration support
  • Dotfile visibility in shares
v1.20.12 Security relevant
Security fixes
  • GHSA-67rw-2x62-mqqm (FTP/SFTP share access bypass)
  • GHSA-rcp6-88mm-9vgf
v1.20.11 Security relevant
Breaking changes
  • Website resources moved from /.cpr/ to /.cpr/w/
Security fixes
  • GHSA-m6hv-x64c-27mm (SVG JavaScript execution bypass)
Notable features
  • Version-checker for security advisories
  • noscript volflag for script blocking

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

About

Stars
45,077
Forks
1,838
Languages
Python JavaScript Shell

Install & Platforms

Install via
binary
Mobile
Android IOS

Beta — feedback welcome: [email protected]