返回目录
开源项目系统与运维类新手

copyparty:单文件可移植文件服务器(断点续传 / WebDAV / SFTP / FTP / TFTP / SMB / 媒体索引)

copyparty 是一个用单个 Python 文件即可启动的可移植文件服务器,支持 HTTP(S)、WebDAV、SFTP、FTP(S)、TFTP、SMB/CIFS 等多种协议,具备加速断点续传上传、文件去重、媒体库索引、缩略图、zip/tar 打包下载、文件搜索、m3u8 播放列表、Markdown 查看/编辑等能力,服务器端仅需 Python 2 或 3,其余依赖均为可选。

1 次阅读2026/09/14 发布
copyparty:单文件可移植文件服务器(断点续传 / WebDAV / SFTP / FTP / TFTP / SMB / 媒体索引) 来源图片

社区作者 · zZz

它解决什么问题

copyparty 的目标是让几乎任何设备通过任意浏览器变成文件服务器,支持可断点续传的上传与下载。项目自我定位为“反向 Unix 哲学”——把所有功能都做进去,并且做得还算可以,强调随手可用的即插即用服务、最小依赖、跨平台、可改可 hack、无构建步骤,并且全部为纯文本代码,便于人工审查是否含恶意代码。

协议支持:http(s)、webdav、sftp、ftp(s)、tftp、smb/cifs,并提供 Android 应用与 iPhone 快捷指令。跨平台覆盖 Windows、Linux、macOS、Android、iOS、FreeBSD、arm32/arm64、ppc64le、s390x、risc-v/riscv64,甚至 SGI IRIX。

后端能力:IPv6 与 unix-socket、多进程(真正的多线程)、卷(挂载点)、账户、FTP/TFTP/WebDAV/SMB 服务器、二维码快捷访问、upnp/zeroconf/mDNS/SSDP、事件钩子与脚本执行、反向代理支持。

上传能力:基础 multipart(兼容 IE6)、up2k(JS 实现,可断点续传、多线程、无文件大小上限,即使在 Cloudflare 后也可用)、stash 简易 PUT 投放、文件名随机化、只写文件夹、unpost 撤销/删除误传、自毁(服务端或客户端指定生存期)、race the beam(边上传边下载)、基于内容比对的符号链接/丢弃重复文件。

下载能力:浏览器内下载单文件、将文件夹打包为 zip/tar、只读 FUSE 客户端。

浏览器端(配图 2):导航窗格目录树、文件管理器(剪切/粘贴、删除、批量重命名,配图 9)、音频播放器(支持系统媒体控制与 opus/mp3 转码)、把视频当音频播放、创建并播放 m3u8 播放列表、图片画廊与 webm 播放、cbz 漫画阅读器、带语法高亮的文本查看器、增长中文件(日志等)的实时流式查看、缩略图(配图 3:图片用 Pillow/pyvips/FFmpeg,RAW 用 libraw-dcraw_emu 或 rawpy,视频与音频频谱图用 FFmpeg,含按最大缓存时长的淘汰)、多语言 UI(英语、挪威语、中文,可自行添加)、SPA 边上传边浏览、文件搜索(配图 6、配图 11)、zip 下载选择(配图 4)、上传界面(配图 5、配图 8 显示控制面板 ETA)、unpost 撤销(配图 7)、Markdown 查看与编辑器(配图 10)。

服务端索引:按内容定位文件、按名称/路径/日期/大小搜索、按 ID3 标签等搜索。客户端支持:单向文件夹同步、curl 友好、OpenGraph(Discord 嵌入)。

账户与卷权限:可用 -a 和 -v 参数或配置文件定义,权限包括 r(读)、w(写)、m(移动)、d(删除)、.(显示点文件)、g(仅下载不可列目录)、G(upget)、h(html)、a(admin)、A(等同于 rwmda)。示例:-v /mnt/music:music:r,u1,u2:rw,u3。

性能:默认通常足够,下载约 8 GiB/s,上传约 1 GiB/s。安全方面有 CSP nonce、CORS、filekeys 防文件名爆破、dirkeys、密码哈希、HTTP/HTTPS 双支持。项目同时提供 systemd/openrc/rc/podman-systemd/nixos 服务脚本与 nginx 反代示例。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

准备环境:服务器只需要 Python(2 或 3),所有依赖都是可选的。

一、最快上手(推荐 sfx)

  1. 直接运行 copyparty-sfx.py,仅此而已。
  1. 说明:sfx 是一个自解压文件,会把内嵌的 tar.gz 解包到 $TEMP;如果觉得不妥,可以改用 zipapp(性能略差)。

二、其他安装方式

pypi:

可复制命令
python3 -m pip install --user -U copyparty
  • 无法安装 Python:使用 copyparty.exe(win8+)或 copyparty32.exe(win7+)

Arch:

可复制命令
pacman -S copyparty

(位于 arch linux extra)

  • Gentoo:emerge www-servers/copyparty::guru

Homebrew:

可复制命令
brew install copyparty ffmpeg
  • Nix:nix profile install github:9001/copyparty;NixOS 可用 nixos module

已安装 uv:

可复制命令
uv tool run copyparty
  • Android:在 termux 中安装
  • iOS/iPad:在 a-Shell 中安装
  • Synology NAS / DSM
  • 需要隔离运行:prisonparty 创建 tiny chroot(可移植性好),或 bubbleparty 用 bubblewrap 包装(更好)

Docker:可直接使用,

可复制命令
docker 镜像内置全部依赖

,可跳过下面安装可选依赖的步骤

  • 系统已无法启动:使用可启动闪存盘 / CD-ROM

三、安装可选依赖(启用缩略图、媒体索引、音频转码)

  • Alpine:apk add py3-pillow ffmpeg

Debian:

可复制命令
apt install --no-install-recommends python3-pil ffmpeg
  • Fedora:rpmfusion + dnf install python3-pillow ffmpeg --allowerasing
  • FreeBSD:pkg install py311-sqlite3 py311-pillow ffmpeg
  • MacOS:port install py-Pillow ffmpeg

MacOS(另一种):

可复制命令
brew install pillow ffmpeg

Windows:

可复制命令
python -m pip install --user -U Pillow
  • Windows 注意:手动安装 python 和 ffmpeg,不要使用 winget 或 Microsoft Store(会破坏 $PATH)
  • copyparty.exe 自带 Pillow,仅媒体标签/视频缩略图需要 ffmpeg
  • 更多功能见 optional dependencies

四、首次运行与推荐参数

  1. 不带参数运行(例如在 Windows 上双击)会给所有人对当前文件夹的读/写权限,建议配置账号与卷。
  1. 推荐选项:
  • -e2dsa 启用通用文件索引
  • -e2ts 启用音频元数据索引(需要 FFprobe 或 Mutagen)
  • -v /mnt/music:/music:r:rw,foo -a foo:bar 表示把 /mnt/music 共享为 /music,任何人可读,用户 foo(密码 bar)可读写
  • 把 :r:rw,foo 换成 :r,foo,则该文件夹只对 foo 可读
  1. 语法与更多权限参见 accounts and volumes 或运行 --help-accounts。

五、软件包/镜像

  • 官方镜像:https://copyparty.eu/

来源教程配图

教程配图
配图 1 · 教程配图查看原图
copyparty-browser-fs8
配图 2 · copyparty-browser-fs8查看原图
copyparty-thumbs-fs8
配图 3 · copyparty-thumbs-fs8查看原图
copyparty-zipsel-fs8
配图 4 · copyparty-zipsel-fs8查看原图
copyparty-upload-fs8
配图 5 · copyparty-upload-fs8查看原图
copyparty-fsearch-fs8
配图 6 · copyparty-fsearch-fs8查看原图
copyparty-unpost-fs8
配图 7 · copyparty-unpost-fs8查看原图
copyparty-cpanel-upload-eta-or8
配图 8 · copyparty-cpanel-upload-eta-or8查看原图

适用场景

学习研究
开源项目实践