copyparty:一个 Python 脚本,把任何设备变成文件服务器

GitHub 上有个项目叫 copyparty,Star 数 4.5 万,做的事情很简单:用一个 Python 文件,把你的电脑、手机、NAS 变成一个功能完整的文件服务器。

我第一次看到这个项目的时候,觉得"这不就是个 HTTP 文件服务吗,有什么稀奇的"。用了一下才发现,它比想象中复杂得多。

图片1

它到底能干什么

copyparty 支持的协议数量有点夸张:HTTP、HTTPS、WebDAV、SFTP、FTP、TFTP、SMB/CIFS。一个 Python 脚本同时跑这么多协议,这在开源项目里不常见。

上传下载都支持断点续传,大文件传输不用担心网络中断。官方说没有文件大小限制,即使挂在 Cloudflare 后面也一样。

它的浏览器界面做得很完整。文件管理、音频播放、图片浏览、Markdown 编辑器、缩略图生成,基本把一个网盘该有的功能都覆盖了。还能按文件内容搜索,支持按 ID3 标签搜音乐。

跨平台也是个卖点。Windows、Linux、macOS、Android、iOS、FreeBSD,甚至树莓派和一些冷门架构都能跑。Android 上可以用 Termux 装,iOS 上用 a-Shell。

图片2

为什么能火起来

copyparty 的定位很精准。它不是要做成 Nextcloud 那种重型私有云,而是解决一个具体问题:快速把文件共享出去。

很多场景下你不需要完整的云存储方案。比如临时给同事传个大文件,在局域网里共享个文件夹,或者在服务器上搭个简单的文件下载页。这种时候装个 Nextcloud 太重了,用 Python 的 http.server 又太简陋。copyparty 刚好填了这个空档。

另一个原因是部署门槛低。下载一个 .py 文件,双击就能跑。不需要装数据库,不需要配 Nginx,不需要折腾 Docker。对程序员来说这是最理想的工具形态:一个文件解决一个问题。

官方还提供了自解压的 .exe 版本,Windows 用户连 Python 都不用装。

实际用起来怎么样

基础功能很稳定。局域网内传输速度能到 8 GiB/s 下载、1 GiB/s 上传,这个性能对日常使用绰绰有余。

权限管理做得比较细。可以按文件夹设置不同用户的读写权限,支持密码认证,还能配置 OAuth 等外部认证方式。

有几个功能我觉得比较有意思。一个是"race the beam",文件还在上传的时候就可以开始下载,类似 P2P 的效果。另一个是文件去重,上传时自动检测重复内容,用符号链接代替重复存储。

当然也有不足。复杂排版的 PDF 在线预览效果一般,UI 设计走的是功能优先路线,视觉上不算精致。但考虑到这是一个单人维护的项目,能做到这个程度已经很厉害了。

适合什么人

如果你经常需要在不同设备之间传文件,或者需要给团队搭一个简单的文件共享服务,copyparty 值得试试。特别是程序员和运维人员,这工具几乎是零学习成本。

做 AI 项目需要处理大量训练数据的,也可以用它来搭建数据集的分发服务。毕竟它支持按内容搜索,文件管理比较方便。

不过要注意,这毕竟是个人项目,企业级的高可用、负载均衡之类的需求它不覆盖。它的优势在于轻量和灵活,适合小团队和个人使用。

目,企业级的高可用、负载均衡之类的需求它不覆盖。它的优势在于轻量和灵活,适合小团队和个人使用。

更多推荐