用一个 Python 脚本,把任何设备变成“可在浏览器里拖拽上传”的文件服务器:支持断点续传/多线程上传、文件索引搜索、缩略图、临时分享链接等。服务端只需要 Python(2/3 都支持),依赖几乎都可选。

特色功能
-
断点续传 + 多线程上传(up2k)
掉线不怕,继续传;而且对大文件友好,甚至文档里直接写了 “no filesize limit! even on Cloudflare”。
-
内容去重(匹配重复内容,软链接/丢弃)
很适合“反复收同名/同内容素材”的场景(群里反复发、不同人重复提交)。
-
“边传边下”(Race the beam)
文件还在上传时,另一端就能开始下载,像“轻量 P2P”的体验。
-
多协议一把梭:HTTP(S)/WebDAV/SFTP/FTP/TFTP/SMB…
你可以继续用自己最顺手的客户端:资源管理器挂载、命令行、自动化脚本都行。
-
可选的“媒体能力”:缩略图、音频/视频信息、在线播放
装上 Pillow/FFmpeg 之类可选依赖后,缩略图、媒体索引、播放器能力就都来了。UI 还支持中文。







3 分钟上手
方式 A:直接跑官方推荐的 sfx(“自解压单文件”)
README 里有官方镜像下载地址(copyparty.eu),拿到 copyparty-sfx.py 后:
python3 copyparty-sfx.py
就能起服务(默认给当前目录开放读写;下面会教你怎么收紧权限)。
方式 B:pip 安装
python3 -m pip install --user -U copyparty
访问地址:文档示例里默认本地服务是 http://127.0.0.1:3923。
3 个“最常用配置”,直接抄作业
1)临时局域网中转站(最简单)
python3 copyparty-sfx.py
⚠️注意:不带参数运行会让“所有人”对当前目录读/写(尤其你把端口暴露到局域网时)。
2)“只收不让看”的投递箱(收作业/收素材神配方)
任何人都能上传,但谁也看不到目录/文件(包括上传者):
python3 copyparty-sfx.py -e2dsa -v .::w
3)私有共享:公开可浏览,只有账号能改(适合小团队/家里用)
python3 copyparty-sfx.py -e2dsa -a kevin:okgo -v .::r:A,kevin
- 任何人:只读浏览/下载(
r)
- kevin:拥有全权限(
A)
权限系统是 Copyparty 很核心的能力:-a 加账号,-v 映射目录并给权限,支持 r/w/m/d/a 等组合,还能只给某些账号可见。这为构建不同级别的运维与权限管理场景提供了灵活性。
想让“网盘链接”那种临时分享?它也有
开启分享功能(--shr)后,可以在页面里给文件/文件夹生成临时链接,支持设置密码、过期时间,甚至允许访客上传。
远程访问怎么搞
如果你只是想临时给外网的人传/取文件,README 给了 Cloudflare Quick Tunnel 的做法:让 cloudflared 把本地 3923 转出去,并建议配 --xff-hdr cf-connecting-ip 正确识别真实来源 IP。
总结
适合:
- 你要一个轻量“文件投递/中转站”(尤其大文件、经常中断的网络)
- 你有 NAS/小主机/闲置电脑,想快速起一个服务
- 你是开发者:希望能用 WebDAV/SFTP/FTP、脚本、curl 等方式接入
不太适合:
- 你想要“完整网盘套件”(协作、双向同步、在线 Office 那套)
- Copyparty 的 folder sync 目标很明确:只做单向同步,完整双向同步不会支持。
避坑
默认配置太开放:不带参数运行会给当前目录全员读写;上线前务必用 accounts/volumes 把权限收紧。
外网请优先反代/HTTPS:README 明确把反代(nginx/caddy/apache)作为推荐方案之一。
别图省事用 root 跑(文档原话“please don’t”)。
SMB/CIFS 不建议拿去跑公网(文档里就提醒了“unsafe… not recommended for wan”)。
Windows 下的 copyparty.exe 虽然方便,但作者更推荐用 copyparty-sfx.py(依赖系统 Python,更新更安全);某些旧版兼容 exe 甚至明确“不该暴露到互联网”。
项目地址
https://github.com/9001/copyparty
本文介绍了如何使用 Copyparty 快速搭建一个功能丰富的个人文件服务器,更多实用的开发者工具和部署技巧,欢迎访问 云栈社区 进行交流与探索。