Copyparty turns almost any device into a file server with resumable uploads/downloads using any web browser. It is a single-file, portable file server that turns almost any machine into a shared drive reachable by web browser, file manager, or command line, needing nothing but Python, every other dependency is optional and only adds capability rather than being required to start. This page first documents what it does, then compares it against the other file servers, upload services, and sync platforms it’s most often weighed against, using feature matrices and short project profiles. The comparison is maintained by copyparty’s own developer, so treat it as a good-faith but non-neutral starting point for your own evaluation, not a certified fact sheet and be aware some entries were benchmarked against a specific version at a specific time, so details may have moved on since.
Please check our application chart to see which GigaDrive Plans are eligible to install this application.
copyparty is a single-file file server that turns almost any machine into a shared drive reachable from a web browser, a file manager, or a command line. The server itself needs nothing but Python — every dependency is optional, and each one simply unlocks additional capabilities rather than being required to start.
This page describes what copyparty can do. For configuration syntax, see the server configuration reference; for a feature-by-feature comparison against similar projects, see the versus document.
| Area | Summary |
|---|---|
| Deployment | One file, no build step, no setup wizard |
| Runtime | Python 2 or 3; all dependencies optional |
| Protocols | HTTP/HTTPS, WebDAV, SFTP, FTP/FTPS, TFTP, SMB/CIFS |
| Uploads | Resumable, chunked, checksummed, no size limit |
| Storage | Optional content-addressed deduplication |
| Indexing | Full-text-ish search over paths, sizes, dates, and audio tags |
| Interface | Single-page web UI with media player, gallery, and file manager |
copyparty is designed to be dropped onto a machine and started, without packaging, compilation, or a configuration step.
The same storage is exposed through several protocols simultaneously, so clients can use whichever one suits them.
| Protocol | Notes | Typical port |
|---|---|---|
| HTTP / HTTPS | The web UI and the full HTTP API | 3923 |
| WebDAV | Read-write; mountable as a drive on Windows, macOS, and Linux | 3923 |
| SFTP | SSH-based, key or password authentication | 3922 |
| FTP / FTPS | Plain and explicit TLS | 3921 / 3990 |
| TFTP | Read-write; intended for embedded and legacy hardware | 69 or 3969 |
| SMB / CIFS | Available, but slow and not recommended over the internet | 3945 |
Mobile access is covered by an Android application and by a set of iOS Shortcuts.
Uploads are the part of copyparty that has received the most attention, and several upload paths are offered depending on the client.
The JavaScript uploader splits each file into chunks, hashes them, and uploads them in parallel. This gives it a number of properties:
Restarting or upgrading the server mid-upload is safe; up2k clients reconnect and resume.
PUT drop target for scripts and command-line tools.zip or tar, with several variants available (pax, gzip, xz, and CP437 zip modes for very old software).The browser UI is a single-page application: navigation, playback, and viewing continue uninterrupted while uploads run in the background.
Audio player covering effectively every common format, transcoding to Opus or MP3 on demand when the browser cannot decode the original.
Image gallery with an inline WebM player and a CBZ reader for comics and manga.
Thumbnails, generated from:
libraw/dcraw_emu or rawpy;Thumbnails are cached, with age-based eviction.
Enabling the index builds a database of the served files, which improves deduplication and upload-undo and makes the collection searchable.
-.Symbols in the tables below: ● supported, ◐ partial or caveated, ? plausible but unconfirmed, blank = not supported.
The software compared (size is the binary where one exists, otherwise the installed footprint):
| code | project | language | licence | size |
|---|---|---|---|---|
| cp | copyparty | Python | MIT | 0.6 MB |
| h2 | hfs2 | Delphi | GPL-3.0 | 2 MB |
| h3 | hfs3 | TypeScript | GPL-3.0 | 36 MB |
| nc | Nextcloud | PHP | AGPL | — |
| sf | Seafile | C | AGPL | — |
| rc | rclone (serve webdav) |
C | MIT | 45 MB |
| df | dufs | Rust | Apache-2.0 | 2.5 MB |
| cs | chibisafe | TypeScript | MIT | — |
| kb | kodbox | PHP | GPL-3.0 | 92 MB |
| fb | filebrowser | Go | Apache-2.0 | 20 MB |
| fg | filegator | PHP | MIT | — |
| sg | SFTPGo | Go | AGPL | 44 MB |
| az | ArozOS | Go | GPL-3.0 | 531 MB |
A further nine projects are profiled later but left out of the matrices as too narrow or single-purpose to score row-by-row — updog, goshs, gimme-that, ass, linx, h5ai, autoindex, miniserve, and pingvin-share (all small Go/Python/Node/Rust tools, MIT/GPL/ISC/BSD licensed, mostly under 20 MB).
Picking a direction. For a full collaboration platform with polished mobile apps and per-file permissions, Nextcloud or Seafile are the mature choices, at the cost of the AGPL licence and (for Seafile especially) an on-disk format only their own software can read — content has to move into their storage rather than being served from where it already lives. For something closer to copyparty’s spirit but with a settings GUI over an existing folder tree, look at filebrowser or dufs, though copyparty stays ahead on upload handling and protocol breadth. kodbox is the most feature-dense alternative here — arguably a nicer UI, plus video transcoding, an in-browser IDE, and office-document editing — again at the cost of files living inside its own storage, with parts of its UI still in Chinese. If you mainly need a drop box rather than a file server, pingvin-share, chibisafe, and linx are purpose-built for that with registration and share management included. For read-only publishing of a directory, h5ai, autoindex, and miniserve are lighter than copyparty, with miniserve notably faster at rendering huge folders.
Platform, packaging, and first run
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Windows | ● | ● | ● | ● | ● | ● | ● | ◐ | ● | ● | ● | ● | ◐ |
| Windows XP | ● | ● | ● | ||||||||||
| Linux | ● | ◐ | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| macOS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||
| FreeBSD | ● | ● | ? | ● | ● | ● | ? | ● | ● | ● | |||
| Android | ● | ● | ● | ● | |||||||||
| iOS/iPadOS | ◐ | ◐ | |||||||||||
| RISC-V | ● | ● | ● | ● | ? | ● | |||||||
| aarch64 BE | ● | ? | ? | ? | ? | ||||||||
| SGI IRIX | ● | ? | |||||||||||
| Single portable binary | ● | ● | ● | ● | ● | ● | ● | ● | |||||
| Works with zero config | ● | ● | ● | ◐ | ● | ● | ◐ | ● | |||||
| Graphical settings UI | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| Thorough docs | ● | ● | ● | ● | ● | ● | ● | ◐ | ◐ | ||||
| Immediately intuitive UI | ◐ | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||
| Android app | ◐ | ● | ● | ||||||||||
| iOS app | ◐ | ● | ● |
Upload capabilities and rules
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Upload at all | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ◐ | ● | ● |
| Several files at once | ● | ● | ● | ? | ● | ● | ● | ● | |||||
| Resume after interruption | ● | ● | ● | ● | ● | ◐ | |||||||
| Split into chunks | ● | ● | ● | ● | ● | ● | ● | ◐ | ● | ||||
| Multiple streams/file | ● | ● | ● | ||||||||||
| Verified on arrival | ● | ● | ● | ● | |||||||||
| Dedup on arrival | ● | ● | ● | ||||||||||
| Handles multi-TB files | ● | ● | ● | ? | ● | ● | ◐ | ◐ | |||||
| Paste from OS file manager | ● | ● | |||||||||||
| Preserves mtime | ● | ● | ● | ● | ● | ● | |||||||
| Upload rules (any) | ◐ | ◐ | ◐ | ◐ | ◐ | ◐ | ◐ | ◐ | ◐ | ◐ | |||
| Disk-usage cap | ● | ● | ● | ● | ● | ● | ● | ||||||
| Per-file size cap | ● | ● | ● | ● | ● | ||||||||
| Item-count cap | ● | ◐ | |||||||||||
| Auto-expiry by age | ● | ● | |||||||||||
| Rate cap over time | ● | ◐ | |||||||||||
| Compress before write | ● | ||||||||||||
| Randomise filename | ● | ● | ● | ||||||||||
| Reject by MIME | ◐ | ? | ◐ | ◐ | ? | ||||||||
| Reject by extension | ◐ | ● | ? | ◐ | ◐ | ? | |||||||
| Route/transform by content | ● |
Downloads and storage handling
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Folder as zip | ● | ● | ● | ● | ◐ | ● | ● | ● | ◐ | ● | ◐ | ||
| Folder as tar | ● | ||||||||||||
| Checksum published | ● | ● | ● | ◐ | |||||||||
| DL while still uploading | ● | ||||||||||||
| Live log streaming | ● | ||||||||||||
| S3-style backend | ◐ | ◐ | ◐ | ● | ● | ● | ◐ | ◐ | ● | ● | ◐ | ||
| Files readable directly on disk | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |||
| Version history | ● | ● | |||||||||||
| At-rest encryption | ● | ● | ● | ● | |||||||||
| Filesystem index | ● | ● | ● | ● | ● | ● | ● | ||||||
| Indexes pre-existing files | ● | ● | ● | ||||||||||
| Separate DB per volume | ● | ? | ? | ? | ? | ? | |||||||
| DB inside shared folder | ● | ? | ? | ● | |||||||||
| DB outside shared folder | ● | ● | ● | ● | ? | ? | ● | ||||||
| Event hooks on file actions | ● | ● | ● | ? | |||||||||
| One-way folder sync | ● | ● | ● | ● | |||||||||
| Bidirectional sync | ● | ● |
Protocols and filename handling
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HTTPS | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | |
| WebDAV | ● | ● | ● | ● | ● | ● | ● | ● | |||||
| FTP | ● | ● | ● | ● | |||||||||
| FTPS | ● | ● | ● | ||||||||||
| SFTP | ● | ● | ● | ● | |||||||||
| TFTP | ● | ||||||||||||
| SMB/CIFS | ◐ | ● | |||||||||||
| DLNA | ● | ||||||||||||
| Netscape 4 | ◐ | ● | ? | ◐ | |||||||||
| Internet Explorer 6 | ◐ | ● | ● | ● | ? | ◐ | |||||||
| Mis-decoded (mojibake) names | ● | ? | ? | ● | ● | ? | ● | ? | ◐ | ||||
| Invalid-UTF-8 names | ● | ? | ? | ● | ? | ◐ |
Deployment and access control
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CLI-configurable | ● | ● | ● | ● | ● | ◐ | ◐ | ||||||
| Config-file support | ● | ● | ● | ◐ | ◐ | ● | ● | ● | ? | ◐ | ◐ | ||
| Reload without restart | ● | ● | ● | ● | ● | ● | ● | ● | |||||
| Virtual filesystem | ● | ● | ● | ● | ● | ||||||||
| Multiple listen ports | ● | ● | |||||||||||
| HTTP+HTTPS one port | ● | ||||||||||||
| Unix sockets | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| Reverse-proxy friendly | ● | ● | ● | ● | ● | ● | ● | ? | ? | ? | ● | ◐ | |
| Proxyable at a subfolder | ● | ● | ● | ● | ? | ? | ● | ? | ? | ||||
| LAN self-announce | ● | ● | |||||||||||
| User accounts | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● |
| Per-volume permissions | ● | ● | ● | ● | ● | ● | ● | ● | ● | ◐ | ● | ● | |
| Per-folder permissions | ◐ | ● | ● | ● | ● | ● | ● | ◐ | ● | ● | |||
| Per-file permissions | ● | ● | ● | ● | ● | ● | |||||||
| Per-file passwords | ● | ● | ● | ● | ● | ● | ● | ||||||
| Per-account chroot | ● | ||||||||||||
| Write-only folders | ● | ● | ● | ● | ● | ||||||||
| Shadow/hide a subfolder | ● | ● | ● | ● | ◐ | ? | |||||||
| index.html suppresses listing | ◐ | ● | ? | ||||||||||
| Single sign-on | ◐ | ● | ● | ? | |||||||||
| Token/API-key auth | ◐ | ● | ● | ● | ● | ||||||||
| Two-factor auth | ◐ | ◐ | ● | ● | ● | ◐ | |||||||
| Brute-force lockout | ● | ● | ● | ● | ● | ? | ● | ? |
Operations and integrations
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Upload log/history | ● | ● | ? | ● | ● | ● | ● | ◐ | ● | ||||
| Log rotation | ● | ● | ● | ● | ? | ● | ● | ? | |||||
| Prometheus metrics | ● | ● | ● | ||||||||||
| Bandwidth throttling | ● | ● | ● | ● | ● | ||||||||
| Self-update | ◐ | ● | ● | ||||||||||
| Dynamic-DNS updater | ● | ● | |||||||||||
| Readable curl listing | ● | ||||||||||||
| Trivial curl upload | ● | ● | ● | ● | ? | ||||||||
| ShareX | ● | ● | ● | ◐ | ● | ||||||||
| Flameshot | ● | ||||||||||||
| Desktop upload notification | ◐ | ◐ | ◐ | ||||||||||
| Discord (any) | ◐ | ◐ | ◐ | ||||||||||
| Discord upload announce | ◐ | ◐ | |||||||||||
| Discord custom embeds | ◐ |
Browsing, file management, and search
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Single-page app | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| Directory-tree sidebar | ● | ◐ | ● | ● | ◐ | ||||||||
| Multi-column sorting | ● | ● | |||||||||||
| Themes | ● | ● | ● | ● | ● | ||||||||
| Create folders | ● | ● | ● | ● | ◐ | ● | ● | ● | ● | ● | ● | ● | |
| Rename | ● | ● | ● | ● | ● | ◐ | ● | ● | ● | ● | ● | ● | |
| Batch rename | ● | ● | |||||||||||
| Cut and paste | ● | ● | ● | ● | ● | ● | ● | ||||||
| Move | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||
| Copy | ◐ | ● | ● | ● | ● | ● | ● | ||||||
| Delete | ● | ● | ● | ● | ● | ◐ | ● | ● | ● | ● | ● | ● | ● |
| Undo own recent uploads | ● | ||||||||||||
| Search by path/name | ● | ● | ● | ● | ● | ● | ● | ● | ◐ | ||||
| Search by date/size | ● | ● | ● | ● | |||||||||
| Search inside file contents | ● | ● | ● | ||||||||||
| Search by custom tags | ● | ● | |||||||||||
| Search by BPM/key | ● | ||||||||||||
| Search by custom parser | ● | ||||||||||||
| BPM detection | ● | ||||||||||||
| Musical-key detection | ● | ||||||||||||
| Find local file on server | ● |
Media and document viewing
| feature | cp | h2 | h3 | nc | sf | rc | df | cs | kb | fb | fg | sg | az |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Thumbnails (any) | ● | ◐ | ◐ | ◐ | ● | ● | ◐ | ● | |||||
| Image thumbnails | ● | ◐ | ● | ● | ● | ● | ● | ● | |||||
| Video thumbnails | ● | ● | ● | ● | ● | ||||||||
| Audio spectrograms | ● | ||||||||||||
| Image viewer | ● | ● | ● | ● | ● | ● | ● | ● | ● | ||||
| Video player | ● | ● | ● | ● | ● | ● | ◐ | ● | |||||
| Video transcoding | ◐ | ● | |||||||||||
| Audio player | ● | ◐ | ● | ● | ● | ◐ | ◐ | ● | |||||
| Near-gapless playback | ● | ? | |||||||||||
| Equalizer | ● | ||||||||||||
| Waveform seekbar | ● | ||||||||||||
| OS media controls | ● | ● | |||||||||||
| Transcode to lossy on demand | ● | ||||||||||||
| Markdown viewer | ● | ◐ | ● | ● | ◐ | ◐ | ● | ||||||
| Markdown editor | ● | ● | ● | ◐ | ◐ | ◐ | ● | ||||||
| README rendered in listing | ● | ◐ | ● |
Advantages and disadvantages are relative to copyparty; small-file throughput figures are files/sec measured by copyparty’s developer, with copyparty’s own baseline around 670/sec, and cross-continent comparisons simulated at 100ms latency (tc qdisc add dev eth0 root netem delay 100ms) — treat all figures as order-of-magnitude, not precise benchmarks.
| project | strengths over copyparty | weaknesses vs copyparty |
|---|---|---|
| hfs2 | Config GUI, VFS with GUI permissions | ⚠️ Unmaintained with an unfixed RCE — do not deploy. Windows-only; uploads unresumable/unaccelerated/unverified (100 MiB cap on Cloudflare) |
| hfs3 | Config GUI, download counter, active-connection view, plugins | Uploads resumable but not accelerated or verified (~3x slower cross-Atlantic, 107 vs 670 files/sec); poor unusual-filename support |
| Nextcloud | Excellent UI, config GUI, first-party mobile apps, per-file permissions, full-text document search, WebAuthn | Isolated per-user storage hierarchy; uploads chunked but not resumable/accelerated/verified (4 vs 670 files/sec); no write-only folders, FTP, or zeroconf; weaker music player; no Android/iPad; AGPL |
| Seafile | Same strengths as Nextcloud | Same weaknesses, plus an even more opaque on-disk format, no big-folder zip download, HTTP/WebDAV only |
| rclone | Speaks almost every protocol and cloud provider; useful as a bridge for others’ S3 support | No web UI at all; uploads unresumable/unaccelerated/unverified; copyparty’s WebDAV is slightly faster |
| dufs | Snappy basic UI; per-URL (finer than per-volume) access control | Uploads unresumable/unaccelerated/unverified (~3x slower cross-Atlantic, 97 vs 670 files/sec); poor unusual-filename support |
| chibisafe | Attractive UI, admin/user panel, self-service signup, searchable image tags, browser upload extension, extension-based rejection, API-key auth | Chunked but still unresumable/unaccelerated/unverified; not portable; isolated storage; HTTP/WebDAV only |
| kodbox | Excellent UI/UX, admin panel, file tagging with discussions, video transcoding, in-browser archive extraction, IDE, OpenOffice WYSIWYG editor | Not portable; isolated storage; ~16x slower small-file, ~3x slower large-file uploads than copyparty; HTTP/WebDAV only; partly untranslated UI |
| filebrowser | Settings GUI, good UI, self-service signup, command runner/remote shell, ~2x the concurrent traffic | Resumable/chunked but unaccelerated/unverified (~5x slower cross-Atlantic, 69 vs 670 files/sec); HTTP only; no directory tree; limited search |
| filegator | Chunked, accelerated uploads | Not verified; ~40x slower than copyparty in testing; HTTP only; no symlinks; non-streaming zip; limited search |
| SFTPGo | Settings GUI, ACME TLS, at-rest encryption, S3/GCS backend, download event hook, richer permissions, fastest small-file rate here (340/sec) | HTTP uploads unresumable/unaccelerated/unverified (~2.5x slower cross-Atlantic); SFTP uploads are resumable; minimal/slow UI, no thumbnails, no indexing, no zeroconf; AGPL |
| ArozOS | Good-looking admin GUI, IDE, Office viewer, deep host integration | Needs root; uploads unresumable/unverified; ~2.7–6x slower than copyparty depending on scenario; writes uploads via temp-file merge rather than direct splice; no directory tree; non-streaming zip; fewer audio formats |
| updog | — | Basic Python listing+upload; less portable; single folder/account; unresumable/unaccelerated/unverified |
| goshs | Nice clipboard widget; read-only/upload-only modes | Single folder/account; HTTPS+WebDAV only; unresumable/unaccelerated/unverified |
| gimme-that | ClamAV scan on upload | Single shared folder; awkward upload layout; unresumable/unaccelerated/unverified |
| ass | Token auth, GPS-strip, Discord embeds+webhook, MIME rejection, S3 backend, custom 404s | Upload-only via ShareX, no browser UI; not portable; unresumable/unaccelerated/unverified |
| linx | Per-file passwords, deletion keys, torrent downloads, remote (URL) uploads | Unresumable/unaccelerated/unverified; several of its ideas (expiry timers, filename randomisation) have since migrated into copyparty |
| h5ai | Slick UI, in-browser QR generator | Read-only; search hits the filesystem directly, not an index |
| autoindex | Directory cache speeds browsing of cloud storage | Read-only; copyparty’s index instead accelerates search, not browsing |
| miniserve | Loads huge folders faster | No thumbnails/viewer/player/file-manager/search; unresumable/unaccelerated/unverified |
| pingvin-share | Chunked, HDD-friendly direct-to-target writes, config+registration GUI, built-in OpenID/LDAP | Not resumable across a crash; unaccelerated/unverified (~3x slower cross-Atlantic); can’t upload folders with subfolders; no upload ETA |
Copyparty.Copyparty.Clear Appdata.