copyparty
File Storage & SyncTurn almost any device into a versatile, browser‑based file server supporting multiple protocols and resumable transfers.
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 →- Environment variable expansion now requires ${VAR} syntax
- Config with old $VAR or %VAR% syntax will crash on startup
- CVE-2026-27948
- Environment variable expansion in config
- Auto language selection (--glang)
- List/grid view switching
Full changelog
- read-only demo server at https://a.ocv.me/pub/demo/
- docker image ╱ similar software ╱ client testbed
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
- v1.20.9 (2025-02-25) fixed CVE-2026-27948 (XSS)
🧪 new features
- #1410 #376 #1224 new option
--glangto 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
--certkeyto specify certificate and key as separate files 8c7cdf85- but the built-in HTTPS server should still not be trusted
- 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$VARor%VAR% - previously, a small handful of global-options already supported this (
c lo hist dbpath ssl_log), but they also supported the$VARsyntax, which is no longer the case - if the old
$VARsyntax is detected, copyparty will crash on startup, suggesting the following remedies (choose one!) in the log:- update the config-value to the new
${VAR}syntax (recommended) - allow the old syntax with global-option
--env-expand 1(risky) - ignore the old syntax and only expand the new syntax with global-option
--env-expand 2 - disable all environment-variable expansions with
PRTY_NO_ENVEXPAND=1
- update the config-value to the new
- by default, only the syntax
🩹 bugfixes
- #1437 webdav clients can now PROPFIND a file with
depth: infinitewhich at least webdav4 does e00f2b46 - #1392 navigating into a subfolder using a
dksdirkey (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
--magicwas enabled, nameless uploads of textfiles would get the file-extension.ssainstead of.txt(thx @Scotsguy!) ed516ddc - #1449 on some filesystems, the tail/follow function would spam the log with
reopened at byte XXX81730189 - #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
-ns238887c7 - 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-nicsand--list-ipsto show autodetected network-adapters and IPs 8d4363d1- docs:
🌠 fun facts
- this release includes code written at abs(unit)
- btw that pdp had an IPv6 lease and browsed the internet :^)
- hasn't connected to copyparty though (yet...)
- btw that pdp had an IPv6 lease and browsed the internet :^)
- this release was powered by 一体いつから (TaKo Hardcore bootleg) followed by Fighting My Way (YUPPUN Hardcore Remix) (shd is a good dj)
💾 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) |
- .hidden file filtering for directory listings
- Thumbnail pregeneration support
- Dotfile visibility in shares
- GHSA-67rw-2x62-mqqm (FTP/SFTP share access bypass)
- GHSA-rcp6-88mm-9vgf
- Website resources moved from /.cpr/ to /.cpr/w/
- GHSA-m6hv-x64c-27mm (SVG JavaScript execution bypass)
- 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.