支持加速的可恢复上传、去重、WebDAV、FTP、TFTP、zeroconf、媒体索引器、缩略图生成等功能,集成了多种协议和服务,并且支持跨平台使用,无需任何依赖。
1. 项目概况
- 仓库名:copyparty,由用户 hovudstraum(GitHub 用户名 9001)维护。
- 简要描述:“Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps”
- 使用协议:MIT 许可。
- 支持的平台较广:Windows、Linux、MacOS、Android(Termux)等。
2. 核心功能亮点
这个项目比较“全”,涵盖了很多常见/不常见的文件服务需求。主要功能包括:
- 文件服务器模式:启动后,可让一台机器变成上传/下载中心。
- 多协议支持:HTTP/HTTPS、WebDAV、FTP、TFTP、SMB/CIFS(虽然后者提到“不推荐用于 WAN”)等。
- 上传功能强大:支持拖拽文件/文件夹到浏览器上传。支持“resumable uploads”(可续传)和“race the beam(上传时下载/访问)”等。
- 下载/浏览也有优化:文件夹可打包为 zip / tar 下载,自带媒体播放器、图片缩略图、文本预览、搜索等。
- 媒体索引、缩略图生成:对音乐、图片、视频等文件,可生成缩略视图。支持 FFmpeg、Pillow 等工具作为可选依赖。
- 配置灵活:支持多卷(Volumes)、账户权限、共享链接(filekeys/dirkeys)、倒计时自删、访问规则等。
3. 适用场景
根据功能来看,copyparty 比较适合以下几类场景:
- 家庭/小型NAS共享:你在家里有一个 NAS 或机器,想快速启动一个浏览器即可上传下载的服务,不想安装复杂的系统。
- 临时/便携式文件服务:比如你带电脑出差、旅行,想在本地局域网内或者经由反向隧道(如 Cloudflare Tunnel)让别人上传/下载。 README 中就提到「make it accessible over the internet… use cloudflared tunnel」的用法。
- 多协议需求:如果你不仅仅通过网页访问,而是希望用 FTP、WebDAV、TFTP 等多协议访问。
- 媒体资料管理:如果你有大量音频/视频/图片文件,希望有缩略图、预览、索引、播放,那么它提供了这些功能。
4. 特点和优点
- 依赖少:虽然有可选功能(如 FFmpeg、Pillow)但基本只要 Python 即可运行。 README 强调“server only needs Python (2 or 3), all dependencies optional”。
- 易启动:README 中提到“just run copyparty-sfx.py — that’s it!”。
- 广泛浏览器/平台支持:目标是“every browser should at least be able to browse, download, upload files” plus cross-platform。
- 功能“齐全”:虽然可能不是每个功能都极端专业,但提供 “do all the things” 的思路。 README 中说 “inverse linux philosophy – do all the things, and do an okay job” 。
- 活跃度/社区:该仓库已有较多 stars(33.5k)和 forks(1.3k)显示一定社区关注。
5. 注意事项/限制
- 虽然功能很多,但也意味着可能会有一些边缘功能不如专门工具。例如 README 自己提醒 “some of the alternatives might be a better fit for you” 。
- 媒体缩略、转码等功能需要额外依赖(如 FFmpeg、Pillow)。如果在资源受限环境运行,可能性能不佳。
- 安全配置需要注意:因为默认拖放上传、读写权限可能开放,若部署在互联网可访问环境里,需要做好权限、https、反向代理设置等。
- SMB/CIFS 模块虽然支持,但 README 中“unsafe, slow, not recommended for wan”说明它在这方面可能不是最优。
- 上传/下载在非常大文件或大量并发时,可能受限于硬件、网络、数据库(如索引)等。README 有提“no filesize limit! even on Cloudflare”但实际要看你环境。
6. 总结一句话
copyparty 是一个“单文件/少依赖、功能丰富”的文件服务器解决方案,适合希望快速搭建又功能全面的上传/下载/共享环境。若你只需基础文件服务也许有更轻量方案;若你需要多协议、浏览器体验+媒体预览、快速部署,它是一个不错的选择。
Github:https://github.com/9001/copyparty
油管:https://youtu.be/h9OI7pQ5-Fo